2014-10-07 189 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標誌來傳達傳輸是否已經發生或者仍然存在。在寫入數據之前應該檢查這些數據,以確保數據僅在較早的數據發出後才寫入數據或避免覆蓋數據。現在,許多微控制器/處理器具有用於傳輸和接收的多個隊列和相關狀態寄存器形式的機制。