使用串口助手進行串口通信的疑問

51單片機系統中SBUF,由於SBUF是一個大小1byte的寄存器,放入字符型數據1,比如如果單片機接收到一個ASC碼0x31, 

單片機去發送 一個1:
一,勾選16進制的話,就是將1作爲16進制看待,則會去發送0x01  (0x01)(SOH)
二,未勾選16進制的話,則會發送ASC碼0x31  (31) (1)

接收情況如下:(在串口助手裏的顯示)

1、第一種情況

勾選16進制的話,就會以16進制的格式顯示,顯示爲01

未勾選16進制的話,就會以ASCII碼中的字符來顯示爲soh


 

2、第二種情況

勾選16進制的話,就會以16進制的格式顯示,因爲ASCii碼本身就是16進制,則會顯示31;
未勾選16進制的話,則會顯示1,因爲1的ASCii碼是0x31;

 

所以在51中進行的串口通信時SBUF=0x31,接收以ASCII爲1;

或是定義一個uchar a=1,SBUF=a,接收以ASCII爲1;(在發送過程中我們並沒有在程序中設定以什麼方式發送,故統一以計算機接收標準(ASCII)發出)

(但是在軟件串口助手中我們是可以選擇想發送的類型)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章