51单片机的单接口可以扩展为双接口吗?
发布网友
发布时间:2022-05-29 11:57
我来回答
共2个回答
热心网友
时间:2023-10-17 04:10
你使用的这个WiFi模块和RS485模块都是采用串口通信方式;
在单片机只有一个硬件Uart的情况下,想要复用这个串口通信设备,就得先确保与WiFi模块和RS485模块的通信是由单片机主动发起的,这样才可以分时控制与两个模块的通信;
如果有被动接收数据的情况下,是不能复用的,那么只能通过软件来仿真一个串口了;
Uart不是IIC,没有独占通信总线的功能,要扩展为双UART,需要解决中断接收问题,才能知道接收到的数据是谁发的,比较繁琐,还是建议采用软件来仿真UART好了;
热心网友
时间:2023-10-17 04:10
老无在上面已经给你解释清楚了。补充一下,目前你可以考虑以下几个解决方案:
① 一般RS485总线跑的速率不高,所以你可以考虑用软串口来接485模块,硬串口留给通讯速率更高的WiFi模块。51软串口网上到处都有例程,占用1个定时器和1个外部中断,19200以下都是足够的。
② 如果还可以调整单片机型号,可以换个STC的双串口,例如STC12C5AxxS2之类。
③ 如果有闲,可以找个扩展UART的芯片玩耍。