我正在建造一个由Arduino(目前为Uno),GPS(Sparkfun GS407)和GSM调制解调器(Sparkfun ADH8066)组成的宠物项目。我的想法是,我能够发送短信调制解调器,让它回复它的位置。
问题是,当我同时插入GPS和GSM模块时,串行通信开始变得混乱。现在我有两个想法,为什么会发生这种情况;
1)显然我在使用串行通信时需要一个良好的基础(仅使用9600波特)。我是电子新手,所以我不确定如何改进我的基础。
2)我在某处(可能here)读过,SoftwareSerial只支持一组发送/接收的引脚。如果GPS正在喷出大量数据,这可能会产生问题。
有人可以评论我看到奇数串行输出的原因吗?
答案 0 :(得分:0)
接地应该不是问题。只要你有一个地面连接你应该没事。 Sparkfun防震板将处理任何敏感的接地问题。
奇怪的数据几乎可以肯定来自于使用多个软件,这不是你所发现的推荐。
一种解决方案是将硬件串行端口用于一个设备,将软件串行端口用于另一个设备。 (硬件上的GPS,因为它比GSM更频繁地更新)
答案 1 :(得分:0)
请用更好的AltSoftSerial(http://www.pjrc.com/teensy/td_libs_AltSoftSerial.html)替换SoftwareSerial。
是的,请将其中一个设备保留在硬件串口上,因为它优于软件中实现的任何串行解决方案。