标题: iccavr 编译出了问题。。帮忙解决一下啊。。代码在下面。。 [打印本页]

作者: _Jsky    时间: 2012-9-5 11:32
标题: iccavr 编译出了问题。。帮忙解决一下啊。。代码在下面。。

目的:将8个led灯分成两组,这两组轮流点亮
程序1:
#include<iom128v.h>
#include<macros.h>
#define uint unsigned int
#define uchar unsigned char

void delay(uint del)
{
   uint i,j;
  for(i=0;i<del;i++)
   for(j=0;j<1241;j++)
  ;
 
}
void main()
{
  
 
  DDRA=0xff;
  PORTA=0xf0;
  while(1)
  {
     
    DDRE=DDRE|BIT(2);
  PORTE=PORTE|BIT(2);
   DDRA=0xff;
    PORTA=~PORTA;
  delay(1000); //延迟1s 
  }
}


程序2:
#include<iom128v.h>
#include<macros.h>
#define uint unsigned int
#define uchar unsigned char

void main()
{
  DDRA=0xff;
  PORTA=0xf0;
  while(1)
  {
     
  uint i,j;
    DDRE=DDRE|BIT(2);
  PORTE=PORTE|BIT(2);
   DDRA=0xff;
    PORTA=~PORTA;
  for(i=0;i<1000;i++)           //延迟1s
  {
   for(j=0;j<1241;j++)
   ;
  }  
  }
}


第二个程序可以实现,第一个却不能实现,为什么呢?


作者: x594008    时间: 2012-10-4 02:30

LZ用studio单步调试一下不就知道问题出在哪里了。


作者: liuqing    时间: 2014-4-26 13:32
#define uint unsigned int
#define uchar unsigned char
改成typedef unsigned int uint;
      typedef unsigned char uchar;
试试




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1