MSP432 spi接收中断寄存器问题

2019-03-24 08:29发布

图1 图1 如图1所示,第一个黄 {MOD}的句子写的是主模式下接收寄存器置位情况,第二个黄 {MOD}寄存器下写的是主模式下发送寄存器置位情况。
先看第二句发送,手册上说当UCxTXBUF中的数据转移到Transmit Shift Register发送移位寄存器后,发送中断标志位会被置位,表明发送缓冲区是空的,可以继续向里写数了。这和我实际测试的情况是一样的,如图2,基本上发送中断标志都是1。
图2 图2
再看第一句接收情况,说当有字符接收到,接收到的数据从Receive Shift Register转移到UCxRXBUF时,接收中断标志位会被置1,表示RX or TX完成。这个就和我实测的结果不太一样了,如图3,我这A口当的主机,从机还没发数呢,很明显UCxRXBUF中也没有数,但是主机的接收中断标志位就置1了,而且进了主机接收中断。
图3 图3


我这就不太懂了,不知道接收这出了什么问题,是我翻译有问题?
不知道有没有大牛研究过这段地方,谢谢解答。
还有图1最后一句话,说“为了在主模式下接收到数据,数据必须被写入UCxTXBUF,因为发送和接收操作是同时进行的。”这是啥意思,同时进行我懂,为什么为了收到数据,要写发送缓冲区。谢谢
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
被雨困住
2019-03-25 09:39
cangsang 发表于 2017-6-14 11:05
从设备没法写代码让它主动发送(主动发送是需要主动提供时钟信号的),它的数据只会在合适的时候进入从设备 ...

我又查了些资料,我的理解,主从设备各有一个数据移位寄存器,各自又有各自的发送接收缓冲区。比如对主设备来说,他的移位寄存器连接着他的发送缓冲区和接收缓冲区,只不过数据只能从发送缓冲区进移位寄存器,然后移位寄存器里的数据出去只能进接收缓冲区里。这样,每次主设备要发送时,把数据从发送缓冲区压入移位寄存器,通过主从设备移位之后,这样主设备移位寄存器里的数据就是从 从设备接收到的回复,然后再压入主设备的接收缓冲区,这样完成一个周期的spi通信,可以这么理解吗?

一周热门 更多>

相关问题

    相关文章