linux下ascii码的值和Windows下不一样?

seanbei 2016-06-29 04:30:04
情况是这样:
我在Windows下用串口调试助手和linux开发板进行通信测试,发现一个很诡异的事情。

在ascii码表中,我查得‘a’的值0x61,那么我在调试助手里面输入61,以hex发送。结果我在xshell里面远程看到开发板接收到的并不是‘a’。反复尝试,我发现发送0x3d,开发板接收显示的才是‘a’。
然后再试了其他值,得出了下面的规律:
hex 符号
0B z
0D y
0F x
11 w
13 v
15 u
17 t
19 s
1B r
1D q
1F p
21 o
23 n
25 m
27 l
29 k
2B j
2D i
2F h
31 g
33 f
35 e
37 d
39 c
3B b
3D a
3F `
41 _
43 ^
45 ]
47 \
49 [
4B Z
4D Y
4F X
51 W
53 V
55 U
57 T
59 S
5B R
5D Q
5F P
61 O
63 N
65 M
67 L
69 K
6B J
6D I
6F H
71 G
73 F
75 E
77 D
79 C
7B B
7D A
7F @
81 ?
83 >
85 =
87 <
89 ;
8B :
8D 9
8F 8
91 7
93 6
95 5
97 4
99 3
9B 2
9D 1
9F 0

我只有按照上面的规则发送对应的hex,开发板才能收到我想要的字符。反过来,从开发板往调试助手发送,要按正确的ascii表来进行,而不是按上面的规则。
这里面是不是有什么转换规则啊? 求大神指教
...全文
624 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
l8p886 2019-11-25
  • 打赏
  • 举报
回复
硬件的问题,是不是将232电平信号接到TTL电平信号上了
  • 打赏
  • 举报
回复
可以直接打印值而不打印成字符来查看吗?先去确定发-传-收-显哪里出了问题吧。一般ASCII不会乱改的吧。
l8p886 2019-08-30
  • 打赏
  • 举报
回复
用了两个TTL转232芯片
zhangyiant 2016-07-07
  • 打赏
  • 举报
回复
引用 3 楼 seanbei的回复:
[quote=引用 2 楼 zhangyiant 的回复:] 串口数据bit位是不是反的?
你是指哪里?这个bit位的顺序还能自己设置吗[/quote] 我也就猜猜。串口一个比特一串穿,转成字节是第一个比特先传还是最后一个bit先传,不知道有没有标准。如果没标准的话,就可能搞反。
zrlw 2016-07-02
  • 打赏
  • 举报
回复
0x3D = 61 3*16 + 13 = 61 有A-E字母的是16进制
图灵转世 2016-07-01
  • 打赏
  • 举报
回复
串口设置问题。波特率是否一致。
zhxianbin 2016-07-01
  • 打赏
  • 举报
回复
0x3d 不就是 61 吗
seanbei 2016-06-30
  • 打赏
  • 举报
回复
引用 2 楼 zhangyiant 的回复:
串口数据bit位是不是反的?
你是指哪里?这个bit位的顺序还能自己设置吗
zhaozhen2004 2016-06-30
  • 打赏
  • 举报
回复
两端的波特率,数据位,停止位,检测位,流控一样吗?
zhangyiant 2016-06-29
  • 打赏
  • 举报
回复
串口数据bit位是不是反的?
zhangyiant 2016-06-29
  • 打赏
  • 举报
回复
你是不是10进制16进制搞混了。

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧