串行口接收⼀发送数据缓冲器都用SBUF,如果同时接收⼀发送数据时,是否会发生冲突?为什么?

2024-11-19 13:57:12
推荐回答(1个)
回答1:

不会发生冲突的。串口通信中,有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,这两个寄存器在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据,此时99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,此时99H表示接收SBUF。