找回密码
 注册
关于网站域名变更的通知
查看: 361|回复: 3
打印 上一主题 下一主题

在程序的开始使用#define定义变量类型,但在函数中却不被认可,啥原因啊?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-31 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
是这样的:在用C51编一个小的测试程序,在程序的开始位置上已经用了#define uchar unsigend char定义了类型,但是在进行错误检查时,函数中定义变量如果采用了 uchar x就会报错,只有在mian()中可以使用,这是什么原因?还请那位前辈指点一二,在此不胜感谢。
+ H* T; N  [2 r2 i, h- `#include"D:\Keil\C51\INC\STC\STC12C5A60S2.H"
* h. a0 v3 f: z! M#include, t1 [1 Y& G6 B! Q
***it Max7221CS  = P2^1;4 w' \( b! U, m" P! s% N; n- L
***it Max7221DIN = P2^0;, T' ~2 t) W" x& K, C5 I4 q5 E
***it Max7221CLK = P2^2;
. C( U! W& E* Y6 X( N& X( w#define uchar unsigned char;
0 B7 S9 s) ~1 J$ b2 t5 w; ~#define uint unsigned int;
! _! l+ ^1 ?; K/ B  Funsigned char DisplayBuffer[8]={2,0,1,0,10,2,10,9};//显示的数字,数字为10的时候显示“-”' `9 Y( N3 ~+ m' o' I# p+ L. F$ ?
/*********************************************************************
+ z$ X9 M& D6 H; x* x' L, P0 a                              延时函数5 x' F0 a) Q1 W8 Q) r% B3 s/ |4 E
**********************************************************************/
( e( d: S0 ]0 L& z" Avoid delayms(unsigned int x)" b7 l, q2 T8 P2 X$ ]: ]: Y
{0 G# w# H0 n. `: j
        uchar i;% T0 O4 R% E6 U5 i% H  O3 r8 W
        while(x--)" J1 O6 K) B% i4 }( X4 q% g. M1 \
        {
# z1 j8 n: }  ~  b' O, J                for (i=0;i<120;i++);
9 {0 j, I0 o, v7 U* _        }$ E6 J4 n! r$ f2 F- t" q
}
3 Q' }: w' x2 v' o9 P& _: B7 A3 C在定义延时函数名时也是这样,如果括号里改用了 uint x也会报错,只有用完整的定义才能通过6 s2 C' n0 W* z8 e3 F6 j1 H' v

该用户从未签到

2#
发表于 2022-10-31 10:55 | 只看该作者
把宏定义放在.h文件,用的时候包含这个头文件就好了。

该用户从未签到

3#
发表于 2022-10-31 13:06 | 只看该作者
你要用 typedef 来定义

该用户从未签到

4#
发表于 2022-10-31 13:17 | 只看该作者
#define uchar unsigned char;
! h9 q% c, g) t  T6 M# k: A. _#define uint unsigned int;
1 t0 P$ h7 c. p  a  ^% X这两句话后面的分号去掉试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 09:34 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表