单片机驱动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条回答
henryetchou
2019-07-29 18:42
俺認為您的問題不在硬件問題,而可能再UART1BUF裡的字串函數判斷,如果您想糾錯,
俺有一個有效直捷的方法來兩分....
您把GSM TX串口接上回電腦的RS-232 RX,包率設置正確,用終端機或是串口助手監看,
肯定第二個指令是否有ACK回覆??回覆得是否真是OK??
假如有回覆,那就是strstr()程序判斷不嚴謹.如果沒回覆那麼就可以判定是發送指令的問題.
此時再把單片機串口TX接回電腦RX確認一下串口打印字串是否是對的??
另~GSM模塊除了包率設置外,有時會有校驗碼(Parity)停止字節(Stop bit)的設置差異,
確認單片機的UART串口這些設置都是謀合的....
P.S.俺是台灣來的,如有用語差異鬧笑話,請多海涵。

一周热门 更多>