求助 我自己写的AVR单片机延时程序怎么出问题啦?
我的程序如下//-----------------------------------------------------------------//名称:闪烁的LED/...
我的程序如下
//-----------------------------------------------------------------
// 名称: 闪烁的LED
//-----------------------------------------------------------------
// 说明: LED按设定的时间间隔不断闪烁
//-----------------------------------------------------------------
#include <avr/io.h>
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=500;j>0;j--);
}
int main( )
{
DDRC=0XFF;
while(1){
PORTC=0XFF;
delay(200);
PORTC=0X00;
delay(200);
}
}
为什么在调用delay(int x)时,不管怎么改变x的值,延时的是将一样长呀;
我通过调试时观察processor窗口的stop watch 发现不管x的值怎么改变,延时的时间一样长,这是为什么呀,求解惑 展开
//-----------------------------------------------------------------
// 名称: 闪烁的LED
//-----------------------------------------------------------------
// 说明: LED按设定的时间间隔不断闪烁
//-----------------------------------------------------------------
#include <avr/io.h>
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=500;j>0;j--);
}
int main( )
{
DDRC=0XFF;
while(1){
PORTC=0XFF;
delay(200);
PORTC=0X00;
delay(200);
}
}
为什么在调用delay(int x)时,不管怎么改变x的值,延时的是将一样长呀;
我通过调试时观察processor窗口的stop watch 发现不管x的值怎么改变,延时的时间一样长,这是为什么呀,求解惑 展开
3个回答
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
展开全部
只能说软件上是行得通的。有板子的话下载看看,或者PROTEUS仿真下,单看软件调试不行。
追问
不行呀 在protues里仿真时也起不到改变延时时间的效果,郁闷死啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i<x;i++)
{ for(j=500;j>0;j--); }
第二个for循环少了大括号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询