找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

請教STM32單片機(jī)串口發(fā)送數(shù)據(jù)顯示亂碼問題

查看數(shù): 3124 | 評論數(shù): 8 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2022-7-31 17:32

正文摘要:

使用stm32c8t6最小系統(tǒng)板,連接外部時鐘模塊,讀取外部時鐘模塊的時間數(shù)據(jù)(16進(jìn)制數(shù)據(jù)),將得到的時間數(shù)據(jù)從串口發(fā)回到串口助手,但是在串口助手上16進(jìn)制顯示正常,非16進(jìn)制顯示就是框框,如圖,代碼如下,怎樣顯 ...

回復(fù)

ID:1041123 發(fā)表于 2022-8-1 11:36
還有一種可能是TTL的參考電平不一致
ID:514901 發(fā)表于 2022-8-1 10:29
數(shù)值轉(zhuǎn)ASCLL碼,最簡單的方式是用sprintf函數(shù)
ID:962286 發(fā)表于 2022-8-1 10:16
本帖最后由 MCU_FANS 于 2022-8-1 10:18 編輯
danpianjii1 發(fā)表于 2022-8-1 08:42
怎么轉(zhuǎn)換成asii碼請問

見過的串口助手,都有得設(shè)置接收格式是HEX還是ASCII:


另外:數(shù)值轉(zhuǎn)成ASCII對照一下ASCII表,然后對應(yīng)加一下偏移即可;蛘哂么蛴,就不用轉(zhuǎn)了。
ID:1041056 發(fā)表于 2022-8-1 08:42
Hephaestus 發(fā)表于 2022-7-31 21:12
你又沒有轉(zhuǎn)換成ASCII碼,當(dāng)然是16進(jìn)制顯示正常,ASCII碼是亂碼了。

怎么轉(zhuǎn)換成asii碼請問
ID:248705 發(fā)表于 2022-8-1 08:38
本帖最后由 祖國的花朵 于 2022-8-1 08:41 編輯

像樓上說的的,轉(zhuǎn)一下
  1. <div class="blockcode"><blockquote>UART1SendByte(year / 10 + '0');
  2. UART1SendByte(year% 10 + '0');
復(fù)制代碼

ID:1039954 發(fā)表于 2022-8-1 08:37
有沒有可能是波特率的問題啊
ID:883242 發(fā)表于 2022-7-31 21:12
你又沒有轉(zhuǎn)換成ASCII碼,當(dāng)然是16進(jìn)制顯示正常,ASCII碼是亂碼了。
ID:401564 發(fā)表于 2022-7-31 17:32
如果只是串口通訊
ASCII用sprintf函數(shù)簡單char   k[12];//數(shù)組長度自己根據(jù)要顯示多少位調(diào)整                                                        
unsigned char a,i=0;
sprintf(k,"%d",dat);                                               
for(a=0;k[a]!='\0';a++)                 
        {       
                UART1SendByte(Page,Start_SEG,k[a]); //發(fā)送一個字節(jié)
        }

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表