最近在维护一个高铁列车的项目,跟Hitachi合作的。
在列车批量生产的时候,列车对需求有变动,要求将VIP车厢换成普通车厢,这个对与我们之前定义的设备及相关控制都需要做相应的变动。大环境就介绍到这,不罗嗦将技术细节。
在这里由于行业因素,不便透露太多商业技术信息,只在技术层面讨论。写博客是为了做一个技术笔记而已,以免太久了忘记又要查资料翻阅一番。
协议Hitachi,已经发文件过来,同意增加信息量了。但是信息的位置有区别但是没关系。地址不同而已,本质都一样。
SO 09, Byte: BIT8, 信息在 D0位
D0 :0 means A, 1 means B;
D1 : reserve
D2 : reserve
D3 : reserve
D4 : reserve
D5 : reserve
D6 : reserve
D7 : reserve
很显然,我需要读取这个SO09的D0位的值。。。
翻了数字电子技术基础第二章逻辑代数中的三种基本运算,有一张与运算表。
与逻辑 &
运算真值表
——————————
A B | C
——————————
0 0 | 0
0 1 | 0
1 0 | 0
1 1 | 1
——————————
Ok,最直接的方案: SO09 & 0x01 == 1 ?
用判断语句在执行信息分支的话
if(SO09 & 0x01)
{
statement;
}
else
{
statement;
}
很基础的东西。。。呵呵呵,今天就到这里了,稍后遇到更复杂一点的取值,再往下写。。。