找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

at指令字符\0的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:929517 發(fā)表于 2023-8-14 10:25 來自手機(jī) | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
大佬們好,我是一名老菜鳥。有如下問題求解惑,跪謝。
如圖,這是GPS語(yǔ)句,結(jié)束字符是<CR><LF>,我的問題是,如果是\0結(jié)束,可以用while (*str!="\0")退出循環(huán),像這種的如何,如何處理?

1.jpg (124.46 KB, 下載次數(shù): 55)

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

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2023-8-14 13:48 | 只看該作者
你這是把兩個(gè)問題弄混淆了,NMEA協(xié)議是串口,以\r\n作為結(jié)束標(biāo)志,里面并沒有\(zhòng)0這個(gè)字符。

但是你要把NMEA一條指令放在c語(yǔ)言里面當(dāng)成字符串存儲(chǔ),\r\n后面要跟一個(gè)\0作為字符串結(jié)束標(biāo)志。

完全是兩個(gè)風(fēng)馬牛不相及的東西。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1046139 發(fā)表于 2023-8-14 15:27 | 只看該作者
可以檢測(cè)字符是否是 '\r' 和'\n'。

while( (buf[i]  != '\n') &&  (buf[i-1]   != '\r'))
回復(fù)

使用道具 舉報(bào)

地板
ID:1091354 發(fā)表于 2023-8-15 11:24 | 只看該作者
<CR><LF>是回車換行符,字符值是0x0A,0x0D; \0是字符串結(jié)束符,值是0x00;想跳出循環(huán),判斷條件可以顯而易見了
回復(fù)

使用道具 舉報(bào)

5#
ID:883242 發(fā)表于 2023-8-15 13:55 | 只看該作者
可以用while (*str!='\n')退出循環(huán)
回復(fù)

使用道具 舉報(bào)

6#
ID:195496 發(fā)表于 2023-8-15 17:07 | 只看該作者
字符串與16進(jìn)制判斷的問題,發(fā)送時(shí),不發(fā)送\0,最后再發(fā)送0D0A
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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