标题: 请大神们帮我看看程序哪出错了?跪谢,本人菜鸟一枚,刚学单片机 [打印本页]

作者: 周庆长    时间: 2016-6-16 20:42
标题: 请大神们帮我看看程序哪出错了?跪谢,本人菜鸟一枚,刚学单片机
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

uchar code DSY_CODE[]=
{
        0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90       
};
uchar code DSY_IDX[]=
{
        0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
};
void DelayMS(uint x)
{
        uchar t;
        while(x--)
        {
                 for(t=120;t>0;t--);
        }
}

void main()
{
        uchar k,m;
        P0=0xff;
        P2=0x00;
        while(1)
        {
                 for(k=0;k<30;k++)
                {
                        for(m=0;m<8;m++)
                        {
                                P2=code DSY_IDX[k];
                                P0=DSY_CODE[m];
                                DelayMS(2);
                        }
                }
                P2=0x00;
                DelayMS(1000);
        }
}
总是显示这个错误:
8事牍?C(33): error C141: syntax error near 'code'



作者: dcs    时间: 2016-6-17 12:52
倒数第9排的P2=code DSY_IDX[k];中去掉code,code只在定义中用
作者: 南天白云    时间: 2016-6-18 10:15
楼主:首先却掉code标准字符, 请问楼主:你程序能运行吗?

作者: 未来的技术女    时间: 2016-6-18 13:44
  P2=code DSY_IDX[k];  此句的code要去掉,定义数组时加code,是为了把数组的内容放在程序空间而不占内存,所以定义数组时加code,用的时候不加
作者: lyj123    时间: 2016-6-19 09:25
把P2=code DSY_IDX[k]; 这里的code去掉 看看能不能行, code只能定义数组
作者: yzp    时间: 2016-6-19 16:12
倒数第九行的P2=code中的code去掉就可以了,那是关键字,调用时用后面的数组名就可以了。
作者: 大眼瞪小眼    时间: 2016-6-19 20:42
倒数第九行的P2=code中的code去掉就可以了,那是关键字,调用时用后面的数组名就可以了,我帮试过了





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