![]() |
發布時間: 2018-9-12 17:58
正文摘要:唯一的區別就是 前面我定義a[0]=1;后面定義a[0]=‘1’; 為什么我定義成 a[0]=‘1’ PC端就只能接受00????? 我的天啊?? 求大神告知----- |
還有檢查下中斷程序有沒有問題,RI TI要分別判斷, |
從三個角度去考慮: 一,波特率是否對應 二,兩次字節發送之間delay的時間問題,可調長調短進行實驗 三,將串口中斷關閉,然后配置串口助手那里hex模式和字符模式切換,看看能否收到正確信息 |
從三個角度去考慮: |
1 代表 十六進制或者十進制的1. '1'是ASCII碼. 十六進制的表示是 '1'=0x31 . 大小的區別. 另外一般上位機的串口接收軟件. 解碼的時候,是進行ASCII解析的. 對于超出ASCII碼表示范圍的 一律不顯示 或者顯示0. 為了發送和顯示16進制的數據, 上位機的串口軟件,都有一個 設置的,類似"十六進制顯示" |
串口助手中有兩種通信模式,文本和HEX,換一個試試 |
把 unsigned char a[6] 改成char a[6];試試? |
什么單片機,波特率什么的,是否正確呢 |
波特率不對應 |