Arduino mega 2560 使用多个串口遇到的问题

使用mega接收GPS模块数据,通过zigbee模块发送自身位置并接收其他设备发送的位置信息。

如使用两个软件串口,需注意两个串口无法同时监听,需要轮流调用listen()来获取数据,这样会造成数据丢失。

在使用两个硬件串口时,发现一个问题,即如果GPS与ZIGBEE模块同时同时上电(GPS模块使用Serial0, ZIGBEE使用Serial1,两模块均连接vcc,gnd),则GPS正常工作,ZIGBEE串口无法工作。在调换模块位置后,又变成GPS无法工作,ZIGBEE工作。在更换核心板,扩展板以及电源模块后问题依然存在,原因不明。

后偶然发现,将GPS模块电源拔掉再给系统上电,待初始化后再将GPS电源接通,则GPS与ZIGBEE均能正常工作。于是,将GPS模块电源接在一个IO口上,在系统初始化时延迟将该口置高电平给GPS上电,问题得到解决。但是目前依然不清楚导致该问题的原因。

你可能感兴趣的:(Arduino mega 2560 使用多个串口遇到的问题)