标题: 请哪位单片机高手帮忙看下以下程序错在哪?急!谢谢! [打印本页]

作者: wanghongdpj    时间: 2018-10-6 09:59
标题: 请哪位单片机高手帮忙看下以下程序错在哪?急!谢谢!
//使用位操作运算和选择程序结构实现流水效果
#include <reg51.h>
#define uchar unsigned char
void delay(uint ms);
void main(void)
{
   P1=0xfe;
   while(1)
   {
   delay(500);
   if(P1==0x7f)
   {
    P1=0xfe;
         delay(500);
         }
         P1=P1<<1|0x01;         
    }
}
void delay(uint ms)
{
   uchar i;
   uint j;
   for(j=0;j<ms;j++)  
         for(i=0;i<125;i++)
      ;         

}

输出信息提示如下:
Build target '目标 1'
compiling 选择结构流水灯.c...
选择结构流水灯.C(3): error C141: syntax error near 'ms', expected ')'
选择结构流水灯.C(18): error C141: syntax error near 'ms', expected ')'
选择结构流水灯.C(21): error C141: syntax error near 'j'
选择结构流水灯.C(21): error C202: 'j': undefined identifier
选择结构流水灯.C(22): error C202: 'j': undefined identifier
目标未创建



作者: zqy181818    时间: 2018-10-6 12:30
将延时函改为试试
void delay(uint ms)      //总延时时间
{
   
   uint j, i;                 //定义变量
   for(j=0;j<ms;j++)  {             //外层循环
         for(i=0;i<125;i++)          //内层循环
     { ;  } }     

}
作者: 罗文杰    时间: 2018-10-6 13:14
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint ms);
void main(void)
{
   P1=0xfe;
   while(1)
   {
   delay(500);
   if(P1==0x7f)
   {
    P1=0xfe;
         delay(500);
         }
         P1=P1<<1|0x01;         
    }
}
void delay(uint ms)
{
   uchar i;
   uint j;
   for(j=0;j<ms;j++)  
         for(i=0;i<125;i++)
      ;         

}
作者: 罗文杰    时间: 2018-10-6 13:15
uint 没定义,还有P1=P1<<1|0x01;    这个的|符号是中文
作者: 围城    时间: 2018-10-6 13:18
#define uint unsigned int加在第二句
作者: 小猫猫爱吃鱼    时间: 2018-10-6 13:34
你好!
在头文件下,增加这句
#define uint unsigned int
作者: 372167607    时间: 2018-10-6 17:42
void delay(uint ms)要改成void delay(unsigned int ms)就行了
作者: 2393013730    时间: 2018-10-7 16:08
#define uint unsigned int




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