打印
[Kinetis]

延时程序-Delay

[复制链接]
2064|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大家好,我现在正在学习K60,但发现飞思卡尔的TWR-K60D100例程中,好像没有专门的延时程序,说说我想要的代码要求吧:
我希望延时函数能像 Delay_ms(int ms)或Delay_us(int us)一样,只要在函数参数中输入指定的数值,就可延时相应的时间,不要求延时特别精确,
希望大家帮忙能提供实现方法,如果有现成的函数代码提供就更好啊!!

相关帖子

沙发
jd972594| | 2013-11-29 14:33 | 只看该作者
楼主可以写个像51时代时那种2层嵌套的循环函数。
里面小循环执行大概1us,外面套个大循环根据us参数循环执行1us的小循环

使用特权

评论回复
板凳
jd972594| | 2013-11-29 14:35 | 只看该作者
我以前都是大概写下小循环,执行完就翻转下IO口,然后用示波器测试下时间,根据这时间再修改小循环执行时间。
说的有点混乱,不知道你清楚哇

使用特权

评论回复
地板
FSL_TICS_ZJJ| | 2013-11-29 14:50 | 只看该作者
看看这个吧,https://bbs.21ic.com/icview-618648-1-1.html
延时的东西很多啊,PIT,LPTMR,FTM,还有内核的systemtick等等。。。

使用特权

评论回复
5
Jay1987887|  楼主 | 2013-11-29 14:56 | 只看该作者
jd972594 发表于 2013-11-29 14:35
我以前都是大概写下小循环,执行完就翻转下IO口,然后用示波器测试下时间,根据这时间再修改小循环执行时间 ...

那个我知道,但是好像时间不好控制吧!!

使用特权

评论回复
6
motodefy| | 2013-11-29 15:17 | 只看该作者
延时啊···直接写 - -不就好

使用特权

评论回复
7
jd972594| | 2013-11-29 15:37 | 只看该作者
Jay1987887 发表于 2013-11-29 14:56
那个我知道,但是好像时间不好控制吧!!

我觉得很好控制啊,你看下

如果你测出来dly=1时正好是1us,那你dly写几不就是几微秒了吗?
当然dly=1时到底是多久要自己测试下,再修改i与什么值比。

使用特权

评论回复
8
FSL_TICS_Robin| | 2013-11-29 15:45 | 只看该作者
楼上这个主要是C语言写的,所以不像汇编语言可以根据指令执行周期及主频推算延时时间。
而且还会受到中断程序的影响,导致延时时间不准确。

使用特权

评论回复
9
黄小俊| | 2013-11-29 16:44 | 只看该作者

使用特权

评论回复
10
攻城狮| | 2013-12-2 16:58 | 只看该作者
学习一下!!

使用特权

评论回复
11
FSL_FAE_ConstYu| | 2013-12-3 09:47 | 只看该作者
建议使用system tick来完成这个过程,简单高效,优先级比较高,不会受到中断过多的影响

使用特权

评论回复
12
Jay1987887|  楼主 | 2013-12-3 17:06 | 只看该作者
现在用LPTMR作了一个延时程序,用着还行,感谢各位的回答,谢谢!!

使用特权

评论回复
13
xinyinxing| | 2013-12-3 17:22 | 只看该作者
好贴!

使用特权

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

本版积分规则

5

主题

150

帖子

0

粉丝