天天看點

序列槽(調試助手)發送資料——字元串發送與十六進制發送的差別

轉自:http://blog.csdn.net/wityy/article/details/8234739

在使用序列槽發送資料時可以選擇字元串發送或者十六進制發送,通常情況下我們習慣選用字元串發送資料。關于兩者的差別,需要從計算機存儲資料的格式說起。

        在計算機中,資料是以二進制的形式存儲的,例如十進制 1(10)在計算機中用 0000 0001(2)來表示。我們在用序列槽發送資料的時候首先将待資料轉換為對應的ASCII碼,然後再将這些ASCII碼按照二進制的方式一位一位的發送出去。

例如我們要發送一串資料“A852010100000000A91A”,以字元串和十六進制兩種方式發送:

(1)字元串發送

         序列槽以字元串發送資料,首先将字元串轉化為二進制,格式如下:

          0000 1010     0000 1000    0000 0110    0000 0010    0000 0000   0000 0001   0000 0000    0000 0001 

                A                   8                  5                      2                    0                1                    0                    1

          0000 0000     0000 0000   0000 0000    0000 0000     0000 1010    0000 1001    0000 0001    0000 1010

                          0                   0                     0                   0                    A                   9                   1                   A

         然後按照8位(序列槽設定資料位為8位)形式将資料發送出去。

         序列槽接收的資料格式如下:

編号 資料内容 編号 資料内容
A 8
1 8 9
2 5 10
3 2 11
4 12 A
5 1 13 9
6 14 1
7 1 15 A

 (2)十六進制發送資料

          序列槽以十六進制發送資料,首先将資料轉化為:

          1010 1000     0110 0010    0000 0001     0000 0001    0000 0000    0000 0000     1010 1001     0001 1010

              0XA8            0X52               0X01             0X01              0X00           0X00                0XA9            0X1A 

         然後按照8位(序列槽設定資料位為8位)形式将資料發送出去。

         序列槽接收的資料格式如下:

編号 資料内容 編号 資料内容
A8 4 00
1 52 5 00
2 01 6 A9
3 01 7 1A

          仔細對照接收結果就很容易明白字元串發送和十六進制發送的差別了。