当前位置: 代码迷 >> 单片机 >> keil编程sbit与#define 的差别
  详细解决方案

keil编程sbit与#define 的差别

热度:422   发布时间:2016-04-28 14:44:12.0
keil编程sbit与#define 的区别
  在keil编程中:
 #define dula P2^6不对
而sbit dula P2^6则正确,
为何
------解决思路----------------------
sbit 大概是特殊数据类型用于位寻址,不能用define替代
------解决思路----------------------
语法规则,就是这样用
------解决思路----------------------
个人理解,sbit dula P2^6     dula是P2.6,#define dula P2^6   dula是P2与6的异或。
------解决思路----------------------
引用:
个人理解,sbit dula P2^6     dula是P2.6,#define dula P2^6   dula是P2与6的异或。


按你这样说,#define应该也是可以啊
------解决思路----------------------
define  应该是定义的运算   sbit直接pa^6 当成一个符号  这个符号应该是对应了硬件的
------解决思路----------------------
引用:
Quote: 引用:

个人理解,sbit dula P2^6     dula是P2.6,#define dula P2^6   dula是P2与6的异或。


按你这样说,#define应该也是可以啊

一个是变量,一个是算术表达式,怎么能一样
------解决思路----------------------
sbit是51特有的关键字,你用define这种通用性的当然不行,sbit是形式上类似于define,但编译器的处理可不是把它当define的预处理这么处理的
  相关解决方案