背景:在不知道硬件是否正确情况下,一步步进行调试,最终完成调试。以下是自己调试步骤。
1、从gprs模块TX ,RX 单独焊接两个线出来,通过上位机发送AT指令,是否能正常工作。一般情况下都是可以的。上位机有很多,我用的是通信猫。
2、先保证单片机串口调试成功,这个涉及到单片机型号,我用的是国产chipon 的单片机。我用到两个串口,串口1和串口2能相互发送与接收消息。
3、因为电路上串口2是连接GPRS模块的,所以直接通过串口1发送AT指令,看能否接收到GPRS模块的数据。如果可以说明整个过程硬件没有问题。我遇到的所有问题都是通过这部检查出来硬件问题的。比如串口2与模块通信线接反,电压不足,硬件电路信号等问题,当然如果你不懂硬件的话,需要将你的疑问提给硬件工程师,硬件工程师会给你排查硬件问题,当然你得定位问题。
4、串口没问题,硬件有没有问题情况下,我也遇到没有通信的情况。
4.1 因为GPRS模块初始化需要时间,当时没注意到,所以也导致接收有问题,按道理我一直发送AT指令,总会有初始化完成的时候,但是还是存在问题,不知道为什么;
4.2 每个AT指令都是有延迟时间的,特别是连接网络时,这个得注意下;
4.3 发送AT指令最好放在初始化最后,因为我就出现 将全局中断放在初始AT指令之后,导致一直进不去中断,一直排查,确认串口和硬件没问题。但是还是 进不去中断,后面发现全局中断没开。因为只有我一个软件,所以一直没发现这个问题。第二天以来看代码,看到了问题点。
最后说一句,不想在进只有一个人搞软件的公司啦,有时候一个小问题搞好久,主要是领导觉得这很简单啊,不就是个通信吗。哎、、、、、、、、、、、、、、、、、、、