情况是这样:
我在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表来进行,而不是按上面的规则。
这里面是不是有什么转换规则啊? 求大神指教
我在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表来进行,而不是按上面的规则。
这里面是不是有什么转换规则啊? 求大神指教
解决方案 »
- Linux下有没有office的开源库,我想合并两个Word文件
- centos6.5 FTP服务器搭建后匿名可以访问,输入用户始终不行
- 如何进入和删除名为${datetime}的文件夹?
- Centos7 无法进入登陆界面
- Linux RedHat8测试版安装
- ubuntu14.04系统升级到16.04后桌面就进不了
- 打开selinxu后,报一个write的权限,但是给予这个权限后,还是不行.
- Linux下怎么产生一个虚拟网络?能进行tcp/udp通信,但ifconfig显示不出来!
- Ubuntu系统安装不了 头皮发麻 求大佬解答
- 安装凝思操作系统电脑重启就黑屏
- VMware桥接模式下设置完静态IP无法ping通网关
- 打开selinxu后,报一个write的权限,但是给予这个权限后,还是不行.
3*16 + 13 = 61
有A-E字母的是16进制
我也就猜猜。串口一个比特一串穿,转成字节是第一个比特先传还是最后一个bit先传,不知道有没有标准。如果没标准的话,就可能搞反。