标题: at指令字符\0的问题 [打印本页]

作者: reking8    时间: 2023-8-14 10:25
标题: at指令字符\0的问题
大佬们好,我是一名老菜鸟。有如下问题求解惑,跪谢。
如图,这是GPS语句,结束字符是<CR><LF>,我的问题是,如果是\0结束,可以用while (*str!="\0")退出循环,像这种的如何,如何处理?

1.jpg (124.46 KB, 下载次数: 55)

1.jpg

作者: Hephaestus    时间: 2023-8-14 13:48
你这是把两个问题弄混淆了,NMEA协议是串口,以\r\n作为结束标志,里面并没有\0这个字符。

但是你要把NMEA一条指令放在c语言里面当成字符串存储,\r\n后面要跟一个\0作为字符串结束标志。

完全是两个风马牛不相及的东西。
作者: wangarm    时间: 2023-8-14 15:27
可以检测字符是否是 '\r' 和'\n'。

while( (buf[i]  != '\n') &&  (buf[i-1]   != '\r'))
作者: River3    时间: 2023-8-15 11:24
<CR><LF>是回车换行符,字符值是0x0A,0x0D; \0是字符串结束符,值是0x00;想跳出循环,判断条件可以显而易见了
作者: Hephaestus    时间: 2023-8-15 13:55
可以用while (*str!='\n')退出循环
作者: 大漠落日    时间: 2023-8-15 17:07
字符串与16进制判断的问题,发送时,不发送\0,最后再发送0D0A




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1