【发布时间】:2013-02-11 18:54:15
【问题描述】:
我不是低级开发背景,所以不知道如何将下面的指令转换为整数...
基本上,我有一个微处理器,它告诉我哪些 IO 处于活动状态或处于非活动状态。我向设备发送一个 ASCII 命令,它会回复一个 WORD,说明 15 个 I/O 中的哪一个是打开/关闭的……指令如下:
- 单元回答“A0001/”仅表示 DIn0 开启,“A????/”表示所有输入有效
- Awxyz/ - w=0 到 ? 中 MSB 的高半字节ASCII 字符 0001=1、1111=?、z=LSB 的低半字节。
在一天结束时,我只想能够将其转换回一个数字,该数字将告诉我 15 个(或 16 个?)输入中的哪一个处于活动状态。
我在第 15 个 I/O 端口上连接了一些东西,我得到的回复是“A8000”,如果有帮助吗? 有人可以帮我解决这个问题吗?
【问题讨论】:
-
当你说
"A8000"时,那是一个字符串吗?否则,那个“A”是从哪里来的? -
“A”只是制造商用来表示回复的标准
-
好的,所以每个字符代表四个端口。通常使用十六进制数字对这些端口的 16 种可能组合进行编码是有意义的,因此
0-9A-F。但你似乎有1111=?,我期望1111=F。那么0101(端口 0 和 3 活动)给出了什么?
标签: c# binary word microprocessors