2014-10-07 135 views
2

当前,我正在编写SPI微控制器和学习相关的代码示例。任何人都可以描述发送缓冲寄存器和接收缓冲寄存器(TXBn & RXBn)之间的用法和区别。我在网上搜索,但没有找到很好的例子来解释它发送缓冲区和接收缓冲区的使用和区别(txb&rxb)

+0

您指的是哪种微控制器? – 2014-10-07 09:42:28

+0

微控制器将要发送到外设的字节写入发送缓冲寄存器。微控制器从接收缓冲寄存器中读取从外设接收到的字节。 – kkrambo 2014-10-07 12:59:40

+0

我读了PIC16F676和MCP2515 SPI的演示代码。稍后我将通过将PIC16F替换为18F2455来编程另一种设计 – TJCLARK 2014-10-08 01:45:08

回答

1

在某些微控制器/处理器,接收缓冲寄存器应在数据接收(即它应该有收到的数据)时更新。这个寄存器应该通过轮询或以分组到达中断的形式进行检查,因此应该传送/处理分组。一般来说,可能会在读取之前设置INT标志并在读取之后将其清除。

发送缓冲寄存器存储要传送的数据。这也可能具有INT标志来传达传输是否已经发生或者仍然存在。在写入数据之前应该检查这些数据,以确保数据仅在较早的数据发出后才写入数据或避免覆盖数据。现在,许多微控制器/处理器具有用于传输和接收的多个队列和相关状态寄存器形式的机制。