微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > C代码有错,请help me.thanks.

C代码有错,请help me.thanks.

时间:10-02 整理:3721RD 点击:
#include<reg51.h>
void Delay10ms(unsigned int c)
#define tu P0
       
void main()
{       
    unsigned char code value[4];
        unsigned char tu;
        unsigned char i;
        value[5]={0x92,0x25,0x9f,0x25,0x92};
           while(1)
                 {
                        tu=value[i];
                        for(i=0;i<=4;i++)
                                {
                                        tu=value[i];
                                        Delay10ms(50);
                                        if(i==4)
                                           i=0;
                                }
                }
}

STATICTU.C(6): error C132: 'main': not in formal parameter list
怎么错了?请指教啊,嘿嘿。




你这个程序错误真不是一般的少。
1.函数声明是一条语句,语句必须以分号结束!
2.P0 已经在reg51.h中进行过寄存器声明,不能再定义为一个变量!
3.用code关键字修饰的数组是常量数组,需且仅在初始化时赋值!
4.不能对一个字节型数组元素赋值数组!
5.引用的数组标号不能大于定义时的数组元素个数!
6.不要随便在for循环体内更改循环变量!这不是错误,但这是一个坏习惯!

非常滴感谢,哈哈,这个论坛我来对了。碰到这么多热心人,谢谢。

声明要在主函数之外……其他的上楼说的都很多了

多谢关心,嗯嗯,根据其他楼说的检查了,结果成功了

#include<reg51.h>
unsigned char code value[5];
#define tu P0
void Delay10ms(unsigned int c);      
void main(void)
{        
   
unsigned char tu;
unsigned char i;
   while(1)
     {
            tu=value[i];
            for(i=0;i<=4;i++)
        {
                tu=value[i];
                Delay10ms(50);
                if(i==4)
                   i=0;
        }
    } ;
}
  unsigned char code value[5]={0x92,0x25,0x9f,0x25,0x92};

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top