一个关于中颖的问题

[复制链接]
2489|4
 楼主| 电星电器 发表于 2011-5-16 10:43 | 显示全部楼层 |阅读模式
本帖最后由 电星电器 于 2011-5-16 14:14 编辑

我用过中颖SH79F166  ,SH88F54,都实验过了都不支持2进制,为什么啊,
举个例子;
          #define Bat_Seg0 (disbuff[3]&=~0b11111000)这个就报错了,
           #define Bat_Seg0 (disbuff[3]&=~0xF8)要这样才行
请问是什么原因,为什么不支持2进制了;
难到是那里还要什么设置吗,
指点一下;
 楼主| 电星电器 发表于 2011-5-16 11:29 | 显示全部楼层
来人啊,说下是怎么回事啊,,急急急啊
neyo.zhong 发表于 2011-5-16 11:56 | 显示全部楼层
8051指令集,怎么会不支持二进制。
由于小弟技术能力实在一般,不知道是不是你写法有问题,所以只能说下自己是怎样写的。

例:要将中断使能寄存器设置为 01011010B
      IE = Bin(01011010);
注:头文件中加入下面两段定义
#define LongToBin(n) \
(                    \
((n >> 21) & 0x80) | \
((n >> 18) & 0x40) | \
((n >> 15) & 0x20) | \
((n >> 12) & 0x10) | \
((n >>  9) & 0x08) | \
((n >>  6) & 0x04) | \
((n >>  3) & 0x02) | \
((n      ) & 0x01)   \
)
#define     Bin(n) LongToBin(0x##n##l)  //write binary charactor set            0xexsample : Bin(11111111) = 0xff

有更了解兄弟,欢迎拍砖和指教
bananarer 发表于 2011-5-16 12:47 | 显示全部楼层
是KEIL 对0b11111000 不支持,所以LS的方法比较好。
 楼主| 电星电器 发表于 2011-5-16 14:14 | 显示全部楼层
还有这样的设置啊,怎么没地方说明下,我把他们全改为16进制的了,还是感谢版主的解决,结贴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

134

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部