找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1867|回復(fù): 5
收起左側(cè)

at指令字符\0的問題

[復(fù)制鏈接]
ID:929517 發(fā)表于 2023-8-14 10:25 來自觸屏版 | 顯示全部樓層 |閱讀模式
大佬們好,我是一名老菜鳥。有如下問題求解惑,跪謝。
如圖,這是GPS語句,結(jié)束字符是<CR><LF>,我的問題是,如果是\0結(jié)束,可以用while (*str!="\0")退出循環(huán),像這種的如何,如何處理?
1.jpg
回復(fù)

使用道具 舉報(bào)

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

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

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

使用道具 舉報(bào)

ID:1046139 發(fā)表于 2023-8-14 15:27 | 顯示全部樓層
可以檢測字符是否是 '\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)

ID:883242 發(fā)表于 2023-8-15 13:55 | 顯示全部樓層
可以用while (*str!='\n')退出循環(huán)
回復(fù)

使用道具 舉報(bào)

ID:195496 發(fā)表于 2023-8-15 17:07 | 顯示全部樓層
字符串與16進(jìn)制判斷的問題,發(fā)送時,不發(fā)送\0,最后再發(fā)送0D0A
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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