久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1587|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

MCU串口通信首字母亂碼問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:705846 發(fā)表于 2024-5-7 11:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

standby首字母亂碼,注釋掉下面的發(fā)送語句就不會亂碼,請問是什么問題。


        while(1)
        {
        
                set1=249;                        
                SendString("standby");
                delay(2000);
                        
                SendByte(set1);   //注釋這行,就沒有亂碼
                delay(5000);

        }        

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2024-5-7 14:20 | 只看該作者
SendString()函數(shù)有bug。
回復(fù)

使用道具 舉報

板凳
ID:23640 發(fā)表于 2024-5-7 15:36 | 只看該作者
題主可試下把249改成48,249沒在ASCII碼范圍內(nèi)
回復(fù)

使用道具 舉報

地板
ID:705846 發(fā)表于 2024-5-7 17:18 | 只看該作者
Hephaestus 發(fā)表于 2024-5-7 14:20
SendString()函數(shù)有bug。

void SendByte(BYTE dat)
{
        SBUF=dat;
        while(!TI);
        TI=0;
}

void SendString(unsigned char *str)
{
        while(*str!='\0')
        {
                _nop_();
                SendByte(*str);
                str++;       
        }
}
回復(fù)

使用道具 舉報

5#
ID:705846 發(fā)表于 2024-5-7 17:28 | 只看該作者
yaosongjin 發(fā)表于 2024-5-7 15:36
題主可試下把249改成48,249沒在ASCII碼范圍內(nèi)

改成48可以,請問有什么辦法解決呢
回復(fù)

使用道具 舉報

6#
ID:705846 發(fā)表于 2024-5-7 18:03 | 只看該作者

回復(fù)

使用道具 舉報

7#
ID:192020 發(fā)表于 2024-5-8 11:00 | 只看該作者

因為249不在ASCII碼表內(nèi),編碼會把249和你首位的S合在一起當(dāng)成漢字來顯示,但是這漢字可能也沒有就亂碼了。第一次打印應(yīng)該是正常顯示standby的,解決辦法是要不就一起發(fā)送ascii碼,要不就一起發(fā)hex格式,一樣發(fā)一個顯示亂碼正常
回復(fù)

使用道具 舉報

8#
ID:705846 發(fā)表于 2024-5-8 12:44 | 只看該作者
qq475878026 發(fā)表于 2024-5-8 11:00
因為249不在ASCII碼表內(nèi),編碼會把249和你首位的S合在一起當(dāng)成漢字來顯示,但是這漢字可能也沒有就亂碼了 ...

確實如你所說,第一個字符串是沒有亂碼。 如果用hex格式,接收端需要用額外的函數(shù)把hex格式轉(zhuǎn)換成字符和10進(jìn)制數(shù)嗎。還是說可以直接處理接收到的數(shù)。
回復(fù)

使用道具 舉報

9#
ID:192020 發(fā)表于 2024-5-8 13:47 | 只看該作者
samxon 發(fā)表于 2024-5-8 12:44
確實如你所說,第一個字符串是沒有亂碼。 如果用hex格式,接收端需要用額外的函數(shù)把hex格式轉(zhuǎn)換成字符和1 ...

你需要的應(yīng)該是文本顯示,接收端是電腦,發(fā)送端是MCU,你需要在發(fā)送端加函數(shù)把set1轉(zhuǎn)成ascii就行。
就好像要acsii碼顯示249,就要發(fā)送三位byte,SendByte('2'),SendByte('4'),SendByte('9'),寫個這樣的轉(zhuǎn)換函數(shù)發(fā)送。
回復(fù)

使用道具 舉報

10#
ID:883242 發(fā)表于 2024-5-8 20:49 | 只看該作者
你們都沒看樓主在6樓的圖的細(xì)節(jié)嗎?是串口助手出錯了,樓主換一個。
回復(fù)

使用道具 舉報

11#
ID:705846 發(fā)表于 2024-5-8 21:24 來自觸屏版 | 只看該作者
Hephaestus 發(fā)表于 2024-5-8 20:49
你們都沒看樓主在6樓的圖的細(xì)節(jié)嗎?是串口助手出錯了,樓主換一個。

你的意思是換一個助手程序?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人在线免费看 | 九色网址 | 亚洲少妇一区 | 日韩视频免费 | 日韩精品少妇 | 一级毛片在线免费观看 | 国产成人精品av在线观 | 青青草成人在线 | 国产成人精品三级麻豆 | 日韩毛片网站 | 中文字幕在线观看一区二区 | 久久激情综合 | 羞羞在线 | 免费一区二区 | 欧美日韩一区二 | 国产视频成人 | 国产乱码一区二区三区 | 在线视频日韩 | 亚洲国产精品久久久久久久 | 国产在线视频网站 | 日韩高清精品免费观看 | 欧美日韩精品一区二区 | 国产精品久久久久久久久久辛辛 | 亚洲免费在线 | 精品影院 | 中文字幕在线观看网站 | 日韩在线视频观看 | 亚洲免费成人 | 天天操免费视频 | 青青草久久| 欧美日韩在线一区 | 免费看黄色小视频 | 亚洲精品91天天久久人人 | 久久综合久 | 一区二区三区在线看 | www.欧美| 玖草在线 | 国产精自产拍久久久久久蜜 | 高潮毛片又色又爽免费 | 亚洲av毛片 | 欧美香蕉视频 |