永发信息网

串口printf发送固定长度的16进制数,“0”为什么显示成30

答案:1  悬赏:40  手机版
解决时间 2021-11-22 14:02
  • 提问者网友:欲劫无渡
  • 2021-11-22 04:54
串口printf发送固定长度的16进制数,“0”为什么显示成30
最佳答案
  • 五星知识达人网友:一秋
  • 2021-11-22 05:11
选“以16进制发送”的话,发送的是16进制的数3,实际发送的数字都是用二进制1和0表示,即发送8个比特(二进制数):00000011,前后还有起始位(高电平)和停止位(可选1、2比特)。

不选16进制的话,发送的是两个ASCII码字符,“0”和“3”。你可以搜以下ASCII码表。“0”对应的16进制数是30,“3”对应的16进制数是33。,那么发送的就是十六进制数30和33,即发送二进制数2个8比特:起始位11000000停止位 起始位 11000011停止位。

如果发的是0000000000000003呢?
以16进制发送的话,还是3,就是:起始位00000011停止位。
如果不选以16进制发送的话,就是以ASCII码字符发送,就发送了15个“0”和一个“3”。
即重复发送:起始位11000000停止位,15遍,然后发送:起始位 11000011停止位。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯