2个回答
展开全部
使用串口的方式 2 和方式3 ,通过使用第九数据位和内置UART0 地址识别硬件支持一个主处理器与一个或多个从处理器之间的多机通信。当主机开始一次数据传输时先发送一个用于选择目标从机的地址字节。地址字节与数据字节的区别是:地址字节的第九位为逻辑1;数据字节的第九位总是设置为逻辑0。
如果从机的SM20 位(SCON0.5)被置‘1’,则只有当接收到的第九位为逻辑1(RB80=1),收到有效的停止位并且接收的数据字节与UART0 从地址匹配时UART0 才会产生中断。在接收地址的中断处理程序中,从机应清除它的SM20 位以允许后面接收数据字节时产生中断。一旦接收完整个消息,被寻址的从机应将它的SM20 位重新置‘1’以忽略所有的数据传输,直到它收到下一个地址字节。在SM20 为逻辑‘1’时,UART0 忽略所有那些与UART0 地址不匹配以及第九位不是逻辑‘1’的字节。
可以将多个地址分配给一个从机,或将一个地址分配给多个从机从而允许同时向多个从机进行“广播”式发送。主机可以被配置为接收所有的传输数据,或通过实现某种协议使主/从角色能临时变换以允许原来的主机和从机之间进行半双工通信。
如果从机的SM20 位(SCON0.5)被置‘1’,则只有当接收到的第九位为逻辑1(RB80=1),收到有效的停止位并且接收的数据字节与UART0 从地址匹配时UART0 才会产生中断。在接收地址的中断处理程序中,从机应清除它的SM20 位以允许后面接收数据字节时产生中断。一旦接收完整个消息,被寻址的从机应将它的SM20 位重新置‘1’以忽略所有的数据传输,直到它收到下一个地址字节。在SM20 为逻辑‘1’时,UART0 忽略所有那些与UART0 地址不匹配以及第九位不是逻辑‘1’的字节。
可以将多个地址分配给一个从机,或将一个地址分配给多个从机从而允许同时向多个从机进行“广播”式发送。主机可以被配置为接收所有的传输数据,或通过实现某种协议使主/从角色能临时变换以允许原来的主机和从机之间进行半双工通信。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询