如图1所示,第一个黄色的句子写的是主模式下接收寄存器置位情况,第二个黄色寄存器下写的是主模式下发送寄存器置位情况。
先看第二句发送,手册上说当UCxTXBUF中的数据转移到Transmit Shift Register发送移位寄存器后,发送中断标志位会被置位,表明发送缓冲区是空的,可以继续向里写数了。这和我实际测试的情况是一样的,如图2,基本上发送中断标志都是1。
再看第一句接收情况,说当有字符接收到,接收到的数据从Receive Shift Register转移到UCxRXBUF时,接收中断标志位会被置1,表示RX or TX完成。这个就和我实测的结果不太一样了,如图3,我这A口当的主机,从机还没发数呢,很明显UCxRXBUF中也没有数,但是主机的接收中断标志位就置1了,而且进了主机接收中断。
我这就不太懂了,不知道接收这出了什么问题,是我翻译有问题?
不知道有没有大牛研究过这段地方,谢谢解答。
还有图1最后一句话,说“为了在主模式下接收到数据,数据必须被写入UCxTXBUF,因为发送和接收操作是同时进行的。”这是啥意思,同时进行我懂,为什么为了收到数据,要写发送缓冲区。谢谢
|