完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Systick->CTRL|=0xfffffffb;//设置外部时钟作为SysTick时钟
这个是把外部时钟设置为SysTick时钟,我想问一下,这里的外部时钟是指外部8M时钟还是PLL倍频后的系统时钟?? |
|
相关推荐
17个回答
|
|
是外部的时钟源,有可能是4-16M,
|
|
|
|
delay_init(72); //延时初始化
这是原子哥例程里的,那他这里为什么设置这么大? void delay_init(u8 SYSCLK) { SysTick->CTRL&=0xfffffffb;//bit2清空,选择外部时钟 HCLK/8 fac_us=SYSCLK/8; fac_ms=(u16)fac_us*1000; } 按照原子哥的例程,如果设置这么大,那么fac_us就为9, delay_ms(300); 那这里就延时9×1000×300=2700000个SysTick时钟周期了,根据设置,为外部时钟源,时钟为8M,根据SysTick为时钟源的1/8,也就是,外部时钟8个周期SysTick才反映一次,也就是说8M外部晶振能使SysTick每减一精确到us,这里设置了2700000个SysTick周期,换算一下就是2700000/1000/1000=2.7s int main(void) { Stm32_Clock_Init(9); //系统时钟设置 delay_init(72); //延时初始化 LED_Init(); //初始化与LED连接的硬件接口 while(1) { LED0=0; LED1=1; delay_ms(300); LED0=1; LED1=0; delay_ms(300); } } 根据例程1,每2.7秒灯变动一次,实际上测试灯闪动得相当快,所以按照道理来说,SysTick选择外部时钟是指内核时钟外面的时钟,也就是很系统时钟,但我有一点迷糊,所以上来发问。 |
|
|
|
PLL后的.严格的说,是PLL后的8分频.
|
|
|
|
回复【4楼】发烧友:
------------------------------- 嗯嗯,刚玩通了倍频,纠正一下参考手册上说的,SysTick->CTRL的第二位置1是选择系统时钟的8分频作为SysTick时钟。 另外想问一下,这个STM32内部Flash的寿命能刷多少次的说?话实有一点怕刷挂了,毕竟芯片只有一个,更换这种芯片需要的那个“发动机”我还没有呢(这个“发动机(风枪)”市面比较贵),想当月玩51,刷了1000次芯片挂了,想起也有一点寒。 |
|
|
|
不小于1W次.
|
|
|
|
SysTick->CTRL的第二位置1是选择系统时钟的8分频作为SysTick时钟,这里就不明白,但手册不是这样讲的!!
|
|
|
|
哪个手册?
|
|
|
|
STM32中文参考手册,我是实际测试得是选用系统时钟,不是外部时钟,手册上说外部时钟,手册上说错了。
|
|
|
|
系统时钟的8分频,也就是,你倍频后的实际频率,不是外部的8m分频后的1m,例如你用PLL把外部频率倍频到72了,8分频后就是9了,也就是systick选择手册上写的“外部时钟”实际上是倍频后的系统时钟72经过8分频后得到的9作为systick时钟。哥表达能力不是很好,希望你能看懂。
|
|
|
|
实际上是倍频后的系统时钟72经过8分频后得到的9作为systick时钟。你在这里的9的单位是什么?
|
|
|
|
Mhz
|
|
|
|
没想到,在这论坛我发的第一个帖子被挖出来了,从时间可以看到,我是国庆后开始学STM32的。
|
|
|
|
跟LZ差不多,也是國慶左右開始玩STM32的。應該就是外部時鐘PLL后的頻率的8分頻就是systick的工作頻率了,如果外部8M,那systick頻率就為8*9/8=9M
|
|
|
|
一直很愚钝。。。
delay_init(72); //延时初始化 这是原子哥例程里的,那他这里为什么设置这么大? void delay_init(u8 SYSCLK) { SysTick->CTRL&=0xfffffffb;//bit2清空,选择外部时钟 HCLK/8 fac_us=SYSCLK/8; fac_ms=(u16)fac_us*1000; } 按照原子哥的例程,如果设置这么大,那么fac_us就为9。 9MHz的sysTick频率。。算起来每个sysTick不是(1/(9*1000*1000))s = 1/9us吗?这不等于1us啊。。。 求指教。。。。 |
|
|
|
先去了解SYSTICK的频率吧.
|
|
|
|
我大一才学STM32的
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
756 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
482 浏览 1 评论
325 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
267 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
644 浏览 2 评论
1403浏览 9评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
101浏览 3评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
52浏览 3评论
64浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
69浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-13 16:49 , Processed in 1.111502 second(s), Total 79, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号