OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5284|回复: 4

关于Stm32_Clock_Init()函数的问题

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-9-7
在线时间
0 小时
发表于 2015-10-24 22:10:46 | 显示全部楼层 |阅读模式
5金钱

STM32不完全手册上的范例,TIM3的。
int main(void)
{
//Stm32_Clock_Init(9);
Stm32_Clock_Init(0);
delay_init(72);
uart_init(72,9600);
LED_Init();
TIM3_Int_Init(4999,7199);

while(1)
{
//LED0=1;
LED0=!LED0;
delay_ms(200);
}
}
这个程序中Stm32_Clock_Init(0)为什么也能让时钟正常走,这函数不是分频用的吗?
还有我将Stm32_Clock_Init()中分频倍数不写,发现STM32就无任何现象,是否可以理解为这个函数是用来启动晶振的。

最佳答案

查看完整内容[请看2#楼]

里面的参数是u8的  而且值为2~16,  参数你搞个0, 函数里面参数会-2, 值变成了-2,二进制1111 1110, 然后取低4位用作PLL倍频数,  不还是16倍频么 但是你这样吧RCC->CFGR的bit 22~25也给改变了,如果不使用那几位,看上去是没什么影响的,实际不能这个搞 如果连参数都不输入,编译都过不了了
这是我的小尾巴~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5787
金钱
5787
注册时间
2013-11-22
在线时间
1213 小时
发表于 2015-10-24 22:10:47 | 显示全部楼层
里面的参数是u8的  而且值为2~16,  参数你搞个0, 函数里面参数会-2, 值变成了-2,二进制1111 1110, 然后取低4位用作PLL倍频数,  不还是16倍频么
但是你这样吧RCC->CFGR的bit 22~25也给改变了,如果不使用那几位,看上去是没什么影响的,实际不能这个搞
如果连参数都不输入,编译都过不了了
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-10-24 23:34:37 | 显示全部楼层
也可以是这么说啊~~~设置内部晶振还是外部晶振
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2015-10-24 23:35:00 | 显示全部楼层
设置时钟频率
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-9-7
在线时间
0 小时
 楼主| 发表于 2015-10-25 00:26:31 | 显示全部楼层
回复【4楼】lycreturn:
---------------------------------
嗯,不写参数试了一下,果然报错,这位大哥解释的真详细!
这是我的小尾巴~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 16:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表