打印
[STM32F0]

STM32F 的延时时间 如何 计算 ?

[复制链接]
2540|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
见附图,系统时钟是PLL,48MHz。

请教,对于 延时函数static void LED_Delay(__IO uint32_t nCount),
当 nCount= 1,000,000(0x0F 4240)时,延时 时间 如何计算 ?

谢谢 !



沙发
Adu0227| | 2016-10-20 16:05 | 只看该作者
仿真跑一下就可以了

使用特权

评论回复
板凳
yklstudent| | 2016-10-20 16:34 | 只看该作者
精确就用定时器啊,ST内部定时器那么多,睡觉也是浪费了

使用特权

评论回复
地板
JobShare| | 2016-10-20 16:49 | 只看该作者
一个时钟周期的时间是:1/48M = 0.02083us;
通过 仿真 看汇编 代码,知道 一个for循环 的 时钟周期 后,就可以了:时钟周期 * for循环的时钟周期数 * nCount 就是 延时时间了。

使用特权

评论回复
5
734774645| | 2016-10-20 22:16 | 只看该作者
用定时器里设置个变量,全局的,调用一个延时函数,该延时函数读取定时器里的变量当前值,然后做差,确定延时到后的变量值是多少,然后一直等待达到那个变量。

使用特权

评论回复
6
734774645| | 2016-10-20 22:17 | 只看该作者
734774645 发表于 2016-10-20 22:16
用定时器里设置个变量,全局的,调用一个延时函数,该延时函数读取定时器里的变量当前值,然后做差,确定延 ...

对于计算差值实际上只需要一次,这里可以用do while(0)的形式实现。

使用特权

评论回复
7
ElectronF0|  楼主 | 2016-10-23 00:03 | 只看该作者
谢谢各位 学习了

使用特权

评论回复
8
Soraka| | 2016-10-23 20:56 | 只看该作者
用定时器做精确延时

使用特权

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

本版积分规则

个人签名:永远的助理工程师

273

主题

1345

帖子

10

粉丝