打印

关于ARM延时程序

[复制链接]
2270|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xsgy123|  楼主 | 2011-9-25 22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需要一个1ms的延时程序,不知道谁有AT91SAM9261这个ARM芯片的误差不是很大的延时程序。
或者是2440的1ms延时程序。
如下模板的,由于这个计算很复制,最直观的需要示波器去看,本人没示波器,所以请做过的朋友提供个。
void DelayNS (uint32 dly)
{
uint32 i;

for ( ; dly>0; dly--)
for (i=0; i<50000; i++);
}


相关帖子

沙发
3B1105| | 2011-9-26 00:37 | 只看该作者
for ( ; dly>0; dly--)   这写的不是有问题吗?  dly是unsigned int 类型,当dly==-1的时候,就是一个很大的数字了,你的这句话是无限循环了

for语句执行一句是4个指令周期,你的指令周期是主频分之一,你看看1ms得for几下,算算吧

使用特权

评论回复
板凳
craaazyfor| | 2011-9-30 08:17 | 只看该作者
2楼应该去看下for关键字.

使用特权

评论回复
地板
嵌入式裸机| | 2011-10-4 20:11 | 只看该作者
什么意思  我觉得没问题啊   3# craaazyfor

使用特权

评论回复
5
ycz9999| | 2011-10-4 23:24 | 只看该作者
你可以用定时器试试

使用特权

评论回复
6
mcu9999| | 2011-10-8 13:47 | 只看该作者
用定时器算才准确

使用特权

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

本版积分规则

229

主题

2603

帖子

1

粉丝