单片机驱动GSM模块,遇到了个很棘手的问题!【已解决】

2019-07-28 18:37发布

本帖最后由 512826028 于 2015-1-25 23:06 编辑

单片机是 MSP430F149  
GSM模块是 SIM900A

程序中 单片机单独发送  AT指令,可以得到OK答复,单片机点亮第一个LED灯。

单片机单独发送ATE0指令,也可以得到OK答复,单片机点亮另一个LED灯。

但是,如果让单片机按顺序,先发送AT指令,等到OK后,在发送ATE0指令,就不能继续运行了,第二个LED就一直都点不亮了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
512826028
2019-07-29 10:34
  1. /*******************************************************************************
  2. *描    述: 此文件包含操作GSM的所有函数
  3. *GSM 模块:SIM900A
  4. *控制芯片:MSP430F149
  5. *
  6. *******************************************************************************/
  7. #include "include.h"

  8. extern uchar USART1BUFF[];//重新声明一下其他函数中定义的USART1BUFF数组

  9. extern void UART_Clear_BUFF(void);
  10. //外部声明过的函数 0 UART1,1 UART2,str为字符串指针
  11. extern void UART_PutStr(uchar uartx, char *str);
  12. extern void UART_PutChar(uchar uartx, char ch);
  13. extern void DelayNms(unsigned char n);
  14. extern void DelayNs(unsigned char n);
  15. extern void led(int i);
  16. extern void GPIO_OUT(uchar px, uchar data8);
  17. extern void UART_Init(uchar uartx);

  18. char *ATE0="ATE0 ";//清除GSM模块回显


  19. /*******************************************************************************
  20. *SIM900初始化函数
  21. *
  22. *返回值:无
  23. *测试通过时间:2015年1月22日22:58:54
  24. *******************************************************************************/
  25. void SIM900(void)
  26. {

  27.     UART_Clear_BUFF();
  28.     UART_PutStr(0,"AT ");
  29.     while(strstr((char const*)USART1BUFF,"OK")==NULL)
  30.     {
  31.         UART_Clear_BUFF();
  32.         led(2);
  33.         //注意:此处必须为RNRN!!!
  34.         UART_PutStr(0,"AT ");
  35.     }
  36.     GPIO_OUT(P2,0Xf7);//点亮一个LED灯,代表握手成功   

  37.     UART_Clear_BUFF();
  38.     UART_PutStr(0,"ATE0 ");
  39.     while(strstr((char const*)USART1BUFF,"OK")==NULL)
  40.     {
  41.         UART_Clear_BUFF();
  42.         led(4);
  43.         //注意:此处必须为RNRN!!!
  44.         UART_PutStr(0,"ATE0 ");
  45.     }
  46.     GPIO_OUT(P2,0Xfe);//点亮一个LED灯,代表握手成功
  47. }
复制代码

一周热门 更多>