读了技术资料,但是串口的多机通讯还是没弄懂,请教各位:多机通讯用地址位模式,先将TXWAKE置1,发送一个数据,此时是发送一个11位高电平的空闲模式,再将TXWAKE置1,发送一个带地址位的字符。这时发送的数据是带地址位的字符,是这样吗?
接受端: 置位URXWIE,当URXWIE=1 时,数据字符在通常方式的接收器内拼装成字节,但他们不会被送入接收
缓存,也不产生中断。只有当接收到一个地址位为1 的字符时,接收器才被激活,接受到的数据才送到URXBUF,
才置位URXIFG,引起中断,然后主机判断地址是否是本机的,若是,清URXWIE,接受以后的数据,接受完成后,再置位
URXWIE位,准备接收下一个数据。是这样吗? 谢谢各位指点!
nan qi:
没有这么麻烦,当发送唤醒中断时检测是否空闲,若是就直接发送带有地址的数据,接收端当有数据时即唤醒中断,接收数据,检测地址位是否正确,是则将数据放到缓冲区,然后清除中断,等待下一次数据的到来