回覆列表
  • 1 # 是的按時是

    發射資料時,首先將nRF24L01配置為發射模式:接著把接收節點地址TX_ADDR和有效資料TX_PLD按照時序由SPI口寫入nRF24L01快取區,TX_PLD必須在CSN為低時連續寫入,而TX_ADDR在發射時寫入一次即可,然後CE置為高電平並保持至少10μs,延遲130μs後發射資料;若自動應答開啟,那麼nRF24L01在發射資料後立即進入接收模式,接收應答訊號(自動應答接收地址應該與接收節點地址TX_ADDR一致)。如果收到應答,則認為此次通訊成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應答,則自動重新發射該資料(自動重發已開啟),若重發次數(ARC)達到上限,MAX_RT置高,TX FIFO中資料保留以便再次重發;MAX_RT或TX_DS置高時,使IRQ變低,產生中斷,通知MCU。最後發射成功時,若CE為低則nRF24L01進入空閒模式1;若傳送堆疊中有資料且CE為高,則進入下一次發射;若傳送堆疊中無資料且CE為高,則進入空閒模式2。 接收資料時,首先將nRF24L01配置為接收模式,接著延遲130μs進入接收狀態等待資料的到來。當接收方檢測到有效的地址和CRC時,就將資料包儲存在RX FIFO中,同時中斷標誌位RX_DR置高,IRQ變低,產生中斷,通知MCU去取資料。若此時自動應答開啟,接收方則同時進入發射狀態回傳應答訊號。最後接收成功時,若CE變低,則nRF24L01進入空閒模式1。

  • 中秋節和大豐收的關聯?
  • 電腦開機後總是出現一排排的英文怎麼辦?