Stm32_Clock_Init(9)函数的使用疑问

[复制链接]
4869|12
 楼主| 叶覃 发表于 2016-7-14 22:51 | 显示全部楼层 |阅读模式
Stm32_Clock_Init(9),为什么库函数的版本没这个函数,寄存器版本的反而有了,奇怪
huafei123 发表于 2016-7-15 11:26 | 显示全部楼层
这个函数是直接操作的寄存器,直接设置系统时钟为HSE*9
mdk55555 发表于 2016-7-16 21:58 | 显示全部楼层
楼主我怎么没找到Stm32_Clock_Init(9)在哪里啊?
haokeer 发表于 2016-7-18 16:41 | 显示全部楼层
mdk55555 发表于 2016-7-16 21:58
楼主我怎么没找到Stm32_Clock_Init(9)在哪里啊?

这个应该是原子开发板的例程。官方的话没这个库函数的
xiaolong12 发表于 2016-7-19 15:54 | 显示全部楼层
一看就是自定义的函数,不符合官方的库函数命名规则
喵喵小星人 发表于 2016-7-19 19:48 | 显示全部楼层
战舰开发板的寄存器版源码,在sys.c里最后一个函数就是:void Stm32_Clock_Init(u8 LL)
maninman1981 发表于 2016-7-20 22:08 | 显示全部楼层
你说错了,这个确实是自带的库函数,表示系统时钟设置
rmbass 发表于 2016-7-21 09:25 | 显示全部楼层
不论库函数还是寄存器,达到我们的目的就好了,不用纠结使用手段的。寄存器和库混合使用,效率和方便兼顾。
yysforever 发表于 2016-7-22 10:56 | 显示全部楼层
  1. void Stm32_Clock_Init(u8 PLL)
  2. {
  3. unsigned char temp=0;  
  4. MYRCC_DeInit();        //
  5.   RCC->CR|=0x00010000;  
  6. while(!(RCC->CR>>17));
  7. RCC->CFGR=0X00000400;
  8. PLL-=2;
  9. RCC->CFGR|=PLL<<18;  
  10. RCC->CFGR|=1<<16;
  11. FLASH->ACR|=0x32;        //
  12. RCC->CR|=0x01000000;
  13. while(!(RCC->CR>>25));
  14. RCC->CFGR|=0x00000002;
  15. while(temp!=0x02)   
  16. {  
  17.   temp=RCC->CFGR>>2;
  18.   temp&=0x03;
  19. }   
  20. 这个是这个函数的代码,里面有点繁琐,所以直接用库函数代替了吧。
冰是睡着的冰 发表于 2016-7-22 21:51 | 显示全部楼层
这些配置都是固定的,基本不用修改的,所以直接用库代替了。
yesherecn 发表于 2016-7-23 11:55 | 显示全部楼层
假如用外部时钟的话,就不需要操作这个库函数了吧,用其他的库函数应该是
 楼主| 叶覃 发表于 2017-4-19 20:08 | 显示全部楼层
xiaolong12 发表于 2016-7-19 15:54
一看就是自定义的函数,不符合官方的库函数命名规则

官方的命名规则是什么呢?可以仔细讲讲吗?
powermaker2568 发表于 2017-4-22 16:34 | 显示全部楼层
还是用HAL库吧!简单粗暴又可靠!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

180

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部