打印

一个关于中颖的问题

[复制链接]
1670|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的方法比较好。

使用特权

评论回复
5
电星电器|  楼主 | 2011-5-16 14:14 | 只看该作者
还有这样的设置啊,怎么没地方说明下,我把他们全改为16进制的了,还是感谢版主的解决,结贴了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

134

帖子

1

粉丝