是这样的:在用C51编一个小的测试程序,在程序的开始位置上已经用了#define uchar unsigend char定义了类型,但是在进行错误检查时,函数中定义变量如果采用了 uchar x就会报错,只有在mian()中可以使用,这是什么原因?还请那位前辈指点一二,在此不胜感谢。
#include"D:KeilC51INCSTCSTC12C5A60S2.H"
#include
***it Max7221CS = P2^1;
***it Max7221DIN = P2^0;
***it Max7221CLK = P2^2;
#define uchar unsigned char;
#define uint unsigned int;
unsigned char DisplayBuffer[8]={2,0,1,0,10,2,10,9};//显示的数字,数字为10的时候显示“-”
/*********************************************************************
延时函数
**********************************************************************/
void delayms(unsigned int x)
{
uchar i;
while(x--)
{
for (i=0;i<120;i++);
}
}
在定义延时函数名时也是这样,如果括号里改用了 uint x也会报错,只有用完整的定义才能通过
2021-8-14 17:29:09
最佳答案
#define uchar unsigned char;
#define uint unsigned int;
这两句话后面的分号去掉试试
#define uchar unsigned char;
#define uint unsigned int;
这两句话后面的分号去掉试试
举报
2021-9-4 16:02:30
把宏定义放在.h文件,用的时候包含这个头文件就好了
把宏定义放在.h文件,用的时候包含这个头文件就好了
1
举报
-
土老冒:
确实是个好方法,在这个问题发表了之后也在现实里请教了前辈,这位前辈也是建议用一个通用的同文件把所有的定义都放在里面统一加载。谢谢你