打印

Stm32_Clock_Init(9)函数的使用疑问

[复制链接]
3874|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
叶覃|  楼主 | 2016-7-14 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
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)在哪里啊?

这个应该是原子开发板的例程。官方的话没这个库函数的

使用特权

评论回复
5
xiaolong12| | 2016-7-19 15:54 | 只看该作者
一看就是自定义的函数,不符合官方的库函数命名规则

使用特权

评论回复
6
喵喵小星人| | 2016-7-19 19:48 | 只看该作者
战舰开发板的寄存器版源码,在sys.c里最后一个函数就是:void Stm32_Clock_Init(u8 LL)

使用特权

评论回复
7
maninman1981| | 2016-7-20 22:08 | 只看该作者
你说错了,这个确实是自带的库函数,表示系统时钟设置

使用特权

评论回复
8
rmbass| | 2016-7-21 09:25 | 只看该作者
不论库函数还是寄存器,达到我们的目的就好了,不用纠结使用手段的。寄存器和库混合使用,效率和方便兼顾。

使用特权

评论回复
9
yysforever| | 2016-7-22 10:56 | 只看该作者
void Stm32_Clock_Init(u8 PLL)
{
unsigned char temp=0;  
MYRCC_DeInit();        //
  RCC->CR|=0x00010000;  
while(!(RCC->CR>>17));
RCC->CFGR=0X00000400;
PLL-=2;
RCC->CFGR|=PLL<<18;  
RCC->CFGR|=1<<16;
FLASH->ACR|=0x32;        //
RCC->CR|=0x01000000;
while(!(RCC->CR>>25));
RCC->CFGR|=0x00000002;
while(temp!=0x02)   
{  
  temp=RCC->CFGR>>2;
  temp&=0x03;
}   
这个是这个函数的代码,里面有点繁琐,所以直接用库函数代替了吧。

使用特权

评论回复
10
冰是睡着的冰| | 2016-7-22 21:51 | 只看该作者
这些配置都是固定的,基本不用修改的,所以直接用库代替了。

使用特权

评论回复
11
yesherecn| | 2016-7-23 11:55 | 只看该作者
假如用外部时钟的话,就不需要操作这个库函数了吧,用其他的库函数应该是

使用特权

评论回复
12
叶覃|  楼主 | 2017-4-19 20:08 | 只看该作者
xiaolong12 发表于 2016-7-19 15:54
一看就是自定义的函数,不符合官方的库函数命名规则

官方的命名规则是什么呢?可以仔细讲讲吗?

使用特权

评论回复
13
powermaker2568| | 2017-4-22 16:34 | 只看该作者
还是用HAL库吧!简单粗暴又可靠!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

180

帖子

0

粉丝