求AVR16单片机中延时函数的计算方法c语言编程。
4个回答
展开全部
void delayMS(uint i)
{
uint j;
for(;i!=0;i--)
{for(j=8000;j!=0;j--){;}}
}
这种是普通延时
计算的时候
注意晶振的频率
这个延时1ms
8MHZ晶振
AVR单片机技术提供 ( http:// szphdz .taobao .com )去空格复制浏览器
{
uint j;
for(;i!=0;i--)
{for(j=8000;j!=0;j--){;}}
}
这种是普通延时
计算的时候
注意晶振的频率
这个延时1ms
8MHZ晶振
AVR单片机技术提供 ( http:// szphdz .taobao .com )去空格复制浏览器
追问
为啥我们看到的普通的AVR单片机8M晶振下,延时程序都是
for(i=0;i<1141;i++)
这里是1141,而你这个是写的8000
这个差距也太大了吧。貌似还需要算uint是多少位这个,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=255;i>0;i--)
for(j=255;j>0;j--)
{;}
照着修改吧,然后debug看延时多少修改i,j数值
for(j=255;j>0;j--)
{;}
照着修改吧,然后debug看延时多少修改i,j数值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void Delay_1us(void)
{
asm("nop");
}
void Delay_Nus(unsigned int unNus)
{
for(;unNus > 0; unNus-- )
Delay_1us();
}
毫秒级可以照着修改
{
asm("nop");
}
void Delay_Nus(unsigned int unNus)
{
for(;unNus > 0; unNus-- )
Delay_1us();
}
毫秒级可以照着修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询