C51的一些毛病--------------
今天调试一个彩屏程序。
头文件定义如下:
//----宏定义如下----
#define KKM P0^1
#define KKN P0^2
//------宏定义如下---
#define KKM_H() KKM="1";
#define KKN_L() KKN="0";
问题:在程序中调用的时候,发现有个问题它总是报错,说少了一个“=”。相当的郁闷,查来查去,也不知道什么毛病。
//--------------------------------------------------------------------------------
解决:郁闷后,干脆使用比尔定义:
sbit KKM="P0"^1;
sbit KKN="P0"^2;
这个时候就没有报错了,结论OK了。
//-----------------------------------------------------------------------
看来在C51中,如果使用宏定义去定义一个IO口,再对IO口做函数宏定义的话,会有错。
正确的描述如下:
//-----定义IO口-----
sbit KKM="P0"^1;
sbit KKN="P0"^2;
//----函数宏定义----
#define KKM_H() KKM="1";
#define KKN_L() KKN="0";
//-------------------------------------------------------------------
用户216937 2009-8-3 15:20
用户124183 2009-8-3 09:58
tengjingshu_112148725 2009-8-3 09:19