求助:如何判断GPS/GPRS/GSM 扩展板AT指令返回数据

2014-11-141.3万
AI 快速预览详细 收起
本文讨论了如何在Arduino中处理GPS/GPRS/GSM扩展板V3.0的AT指令返回数据。通过使用`Serial.read()`逐字符读取串口数据,并检查特定字符来判断AT指令的返回值。文章还提供了一个具体的代码示例,并解决了打印乱码的问题。这对于需要自动化控制和设备通讯的项目非常有用。


正在测试GPS/GPRS/GSM 扩展板 V3.0,wiki中看到的都是发送AT指令的,只有通过USB模式才能从串口调试工具中看到AT指令的返回值,我想让Arduino自动根据AT指令返回值来决定是否进行下一步,我改怎么接受返回的数据呢?
例如我发送“AT”,会返回给我“OK”,该如何接受这个“OK”字符串啊?
  1. char i=0;
  2.   char *temp;
  3.   int a;
  4.   while(1)
  5.   {
  6.     if(Serial.available())
  7.     {
  8.       temp[i] = Serial.read();
  9.         if(temp[i]=='\0') break;
  10.       i++;
  11.     }
  12.   }
  13.   Serial.println(temp);
  14. //下面为判断temp的值,如果为OK,则继续下一步
复制代码



上述代码,Serial.println(temp)打印出来后会有很多乱码,怎么回事啊?

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(4)
Grey
Grey
串口监视器的波特率对不对
lisper
lisper
github有示例程序
何处不江南
何处不江南
if(temp[i]=='\0') break; 返回的ok最后是没有'\0'结尾的。’
微笑的rockets
微笑的rockets
美女求助,攻城师们,你们还不赶紧出来!
- 没有更多了 -