1、我有一个扩展的输入IO口,地址0xef,我这样定义: #define ADDR_INPUT PBYTE[0xef] 在程序中: unsigned char a; a = ADDR_INPUT; 软件彷真的时候,不管把XDATA 中0xef改成什么值,执行后a都为0,但是如果把宏定义该为: #define ADDR_INPUT XBYTE[0xef] 执行后a的值就是我设置的值,对于地址0xef来说PDATA和XDATA应该是一样的啊,为什么会出现这样的情况呢?这是在软件彷真中出现的。
2、我做了一个不模块文件,有不少通用功能的函数,不是每个工程都会用到所有的函数,这样在编译的时候很出现很多未调用函数的警告,这种情况大家是怎么处理的呢。有没有办法象keil自己带的库一样,用到的就调进来,没用的就忽略呢,这样就省心了。
本人刚开始用c51,请大家多多指教。谢谢 |