求AVR16单片机中延时函数的计算方法c语言编程。
4个回答
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
展开全部
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();
}
毫秒级可以照着修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询