关于用单片机串口编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 11:52:39
单片机是只有一个输入输出的,如何用一个单片机实现两个串口,有谁知道怎么设计程序(C语言)还有制作PCB板时的连接。
有关学术的问题,请没有实际经验的人不要把网上的东西往里贴。谢谢!
介于一楼有人说不能同时工作,我强调一下:是肯定能我才会问这种问题的,所以请真的懂的人帮忙一下。 还有我用的单片机是只有一个串口,不能换的。

现在有的51单片机是有多个串口的,你这个问题我就当你的单片机只有一个串口来回答了:
有两种办法实现两个串口
一是用一个串口用地址或者片选信号实现多机通信的方式虚拟出来,采用分时复用的办法(占用CPU资源少)
另一个是用普通IO口实现,这就需要编写软件模拟串口的收发协议,就像平时做试验用IO口模拟SPI协议一样,需要占用较多的CPU的资源(要运行软件)

分太低 懒得写
肯定不能同时工作 但是可以分时段工作 比如A串口传好数据后控制权立即切换给B串口 再传B的数据 但是怎么转换控制权就要考虑校验位的东西了 具体就涉及到传的数据了
PCB可以直接做两套完整的串口(包括两片MAX232) 然后同时连接到单片机的RXD 和 TXD 上

STC的有两个串口

华邦51有两个串口