采用单片机的多机并行通讯系统方案设计
5.2 通讯协议的执行过程
下面以检测方式为例说明通讯协议的执行过程。
5.2.1 主机向从机写数过程:(主机写, 从机读)
主机向74HC646写数据,然后通知从机有数据来,从机从74HC646中读取数据。
① 主机读取状态位,检测TFNF*位是否为零。
②若TFNF*=1,主机暂时等待;若TFNF*=0,主机向74HC646写数据,使TFNF*=1,同时使TFNE*=0。
③ 从机读取状态位,检测TFNE*位是否为零。若TFNE*=1,从机暂时等待;若TFNE*=0,从机从74HC646读数据,使TFNE*=1,同时使TFNF*=0。
④ 主机再次检测状态位TFNF*是否为零,若为“0”,说明从机已将数据从74HC646中取走,主机可发送下一数据。
5.2.2 主机读从机过程:(从机写, 主机读)
从机向74HC646写数据,然后通知主机有数据来,主机收到信号后,将数据从74HC646中取走。
① 从机读取状态位,检测RFNF*位是否为零。
②若RFNF*=1,从机暂时等待;若RFNF*=0,从机向74HC646写数据,使RFNF*=1,同时使RFNE*=0。
③ 主机读取状态位,检测RFNE*位是否为零。若RFNE*=1,主机暂时等待;若RFNE*=0,主机从74HC646读数据,使RFNE*=1,同时使RFNF*=0。
④ 从机再次检测状态位RFNF*是否为零,若为“0”,说明从机已将数据从74HC646中取走,主机可发送下一数据。
6 流程图(检测方式)
采用检测方式的程序流程如图3所示。
本文引用地址:https://www.eepw.com.cn/article/171986.htm
图3 采用检测方式的程序流程图
若使用中断方式, 只需对执行过程和流程图稍加修改即可。
评论