你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1019|回复: 4

【NUCLEO-F410RB开发】+工程建立之RCC与众不同

[复制链接]

10

主题

124

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-3-5
发表于 2015-12-21 17:32:54 | 显示全部楼层 |阅读模式
本帖最后由 我的颈 于 2015-12-21 17:32 编辑

首先呢先感谢下论坛能有这么个活动,这么便宜得到一块开发板
东西不能白拿啊,所以呢写篇使用心得,作为一个小菜鸟第一次写,
写的不好,多多包涵!


1.板子到手之后就是建立工程
       我不太喜欢用库函数,感觉寄存器好用些,当然了涉及到复杂的协议,像USB什么的还是用官方的库比较省事,百度STM32F410RB 寄存的工程没找到(可能是我不太仔细吧…),百度没有,那STM32F410 NUCLEO(还是内部晶振) 这板子的更木有了.所以自己想着建个工程
开始喽,
       这是所需的文件,去keil文件下都能找到,include 记得填进去

GC

GC


2.工程文件弄好了就是捣鼓时钟了
       由于不带外部时钟而且官方的是库函数,所以需要自己配置一下RCC
  1. /**
  2.                                 这是官方库函数的参数,我们按照他的参数设定
  3.   *            System Clock source            = PLL (HSI)
  4.   *            SYSCLK(Hz)                     = 100000000
  5.   *            HCLK(Hz)                       = 100000000
  6.   *            AHB Prescaler                  = 1
  7.   *            APB1 Prescaler                 = 2
  8.   *            APB2 Prescaler                 = 1
  9.   *            HSI Frequency(Hz)              = 16000000
  10.   *            PLL_M                          = 16
  11.   *            PLL_N                          = 200
  12.   *            PLL_P                          = 2
  13.   *            PLL_Q                          = 7
  14.   *            PLL_R                          = 2
  15.   *            VDD(V)                         = 3.3
  16.   *            Main regulator output voltage  = Scale2 mode
  17.   *            Flash Latency(WS)              = 3
  18.   */
  19. void SYSClock_Init(void)
  20. {
  21.         RCC->APB1ENR        |=1<<28;                            //使能PWR
  22.         PWR->CR                 |=3<<14;                     //        等级3
  23.         RCC->CFGR              |=(0<<4)|(4<<10)|(0<<13);    //AHB不分频 APB1 2分频   APB2 不分频
  24.         RCC->CFGR              |=3<<21;                                  //时钟输出 测试PLL
  25.         RCC->CFGR              |=7<<24;                                 //5分频
  26.         RCC->PLLCFGR        =(16<<0)|(200<<6)|(0<<16)|(7<<24)|(2<<28);//M N P Q R  
  27.         RCC->CR                 |=1<<24;                               //使能PLL
  28.         while(!((RCC->CR>>25)&0x01));                                     //等待 Ready
  29.         FLASH->ACR            |=1<<8;                                       //        Prefetch
  30.         FLASH->ACR            |=1<<9;                                    /Instruction cache
  31.         FLASH->ACR            |=1<<10;                                  //Data cache
  32.         FLASH->ACR            |=3<<0;                                  //3个延时

  33.         RCC->CFGR             &=~(3<<0);                           //清除
  34.         RCC->CFGR             |=2<<0;                               //PLL source
  35.         while((RCC->CFGR&(3<<2))!=(2<<2));                   //等待就绪
  36.         SYSTick_Init(100);                                                     //滴答定时器
  37. }
复制代码

3 .这样就配置好了时钟了
       PCLK为100MH
       通过MCO1输出(PA8)
       MCO1  :  5分频
       选择 PLL输出
       我们用分析仪看下时序

FXY

FXY

4.个人认为使用寄存器能学到不少东西.尤其像我们这些新手,配置RCC使用了1天时间,
遇到不少错误,不过最终能成功也是蛮不错的
还有就是 STM32F4中文版的RM手册,和STM32F410有不少出入,
我看的是STM32F410-RM0401.pdf

QQ截图20151221172810.png
卡在这个错误上一天
0不等于0 ,2不等于2
0等于2,  2等于6
不知大家能否看懂
也让官方的参数误导了
好了就这些
第一次发帖,多多关注
如有不足,欢迎指出
可以联系我 一起学习

可以在STM32F410 NUCLEO 运行.rar (95.28 KB, 下载次数: 3)

评分

参与人数 1ST金币 +20 收起 理由
沐紫 + 20

查看全部评分

<
回复

使用道具 举报

41

主题

2476

回帖

282

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-12-21 17:50:05 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

33

主题

1243

回帖

0

蝴蝶豆

论坛元老

最后登录
2019-3-9
发表于 2015-12-21 17:59:40 | 显示全部楼层
那是寄存器的两个位,,并不表示实际的数值,上面写的很清楚,00 : PLLP=2,没写0=2吧
回复 支持 反对

使用道具 举报

31

主题

1951

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-12-4
发表于 2015-12-21 19:19:11 | 显示全部楼层
现在用寄存器的确实不多
回复 支持 反对

使用道具 举报

10

主题

124

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-3-5
 楼主| 发表于 2015-12-21 19:19:32 | 显示全部楼层
风子 发表于 2015-12-21 17:59
那是寄存器的两个位,,并不表示实际的数值,上面写的很清楚,00 : PLLP=2,没写0=2吧 ...

大概就这意思,,,折腾一天
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版