|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
是这样的:在用C51编一个小的测试程序,在程序的开始位置上已经用了#define uchar unsigend char定义了类型,但是在进行错误检查时,函数中定义变量如果采用了 uchar x就会报错,只有在mian()中可以使用,这是什么原因?还请那位前辈指点一二,在此不胜感谢。# g4 P1 O9 r$ `2 w) M, d/ g
#include"D:\Keil\C51\INC\STC\STC12C5A60S2.H"
" _( W, ~/ [0 T* W* p# Y#include$ A2 h& X6 q, n& x* D
***it Max7221CS = P2^1;6 p) {" ?2 e9 `2 r
***it Max7221DIN = P2^0; U- m6 U; h) m' h
***it Max7221CLK = P2^2;$ [- f9 x4 N4 }- |9 f9 W
#define uchar unsigned char;0 W2 w$ k9 p% P6 N7 h
#define uint unsigned int;) k1 r( X+ v% o% t3 P2 Q7 n1 a
unsigned char DisplayBuffer[8]={2,0,1,0,10,2,10,9};//显示的数字,数字为10的时候显示“-”
' i$ F5 M, j4 n& I6 b# N3 O2 U' N8 j/*********************************************************************! n3 d6 `4 [4 W# U# H! P
延时函数
. G# ^, q, B- W, [**********************************************************************/
, H2 \$ S/ P2 X6 c4 Pvoid delayms(unsigned int x)
; r8 i# ` F" Q) Q/ M- j{
- q# q: g" [ A. ?- I& f* X uchar i;
: g! b. ?, Q1 T( x1 c! Y1 p while(x--)0 k& p* c$ q+ b0 p4 F$ v, i0 r
{
; `, R: f: x8 z+ n! A2 w9 w for (i=0;i<120;i++);* k8 s) x* }- g$ x# }
}/ ] d3 u8 p% m+ \! c# j0 ~8 m: G
}7 e' R6 V+ w, x' \) l/ ]0 ~. ~% N
在定义延时函数名时也是这样,如果括号里改用了 uint x也会报错,只有用完整的定义才能通过
2 B, H3 u6 v* R2 q& ] |
|