stm32控制2 4G晶元的應用

2021-07-16 20:04:43 字數 769 閱讀 2645

最近在研究2.4g晶元的一些應用,一般這種晶元都是通過spi或者iic的介面與mcu相連線,通過對spi或iic的程式設計讀寫晶元的暫存器從而達到控制的效果。

最近在用wl1600的乙個2.4g的晶元,該晶元可以通過spi與stm32相連線。於是我就做了乙個類似透傳模組的試驗,使用兩塊1600和兩個stm32分別控制,既然要做透傳也就是說晶元不但要工作在接收狀態(rx)當串列埠有資料的時候還要工作在傳送狀態(tx),這樣就要求每種模式都要是非阻塞的模式下才能滿足這個要求。

另外每個1600在開始工作以前要設定一些暫存器的初始化,也就是一些硬體引數校驗碼等。這樣收發的準確率會很高,參考值每個晶元手冊都會給出的。

收發的而資料都是通過乙個fifo暫存器來儲存的。

傳送過程:首先往fifo裡填寫資料,之後開啟tx mode,等待fs結束標誌,其他的一些引數也可以設定,比如開啟crc,fec等。

接收過程:設定成rx mode ,然後去檢測接收標誌位是非起來,起來說明收到資料,這個時候就可以去fifo裡將資料讀出,也可通過校驗crc是否正確來判斷資料的對錯。

fifo的大小是64byte,也就是一次最多能傳送64個位元組,當然還有其他的模式可以傳送更多的位元組數,這個以後再說

為了將資料分類,可以得知那個模組發出的做了如下規劃:

為了做透傳模組需要使用at指令來控制模組的收發情況。

**以後上傳 謝謝

STM32晶元的字尾說明

在使用晶元的時候,經常會看到晶元的標識上經常會有一大串字尾,弄得我們很迷惑,這些字尾具體有什麼含義,到底選擇哪種字尾的呢?下面我們通過stm32晶元的字尾說明圖來進行說明。從圖中可以看出 stm32 是晶元的系列。f代表 通用目的。103代表 晶元的子系列。r代表 晶元的引腳數量。r 60腳 v 1...

STM32的時鐘控制

stm32外部晶振經倍頻後提供系統時鐘常用設定 void rcc configuration void rcc sysclkconfig rcc sysclksource pllclk 設定pll為系統時鐘 while rcc getsysclksource 0x08 檢測系統的時鐘源是否是pll ...

stm32驅動Tm1803 LED 控制晶元

因為 tm1803 的驅動時間 因為電平時間是微秒級別的 如果cpu用普通io來處理的話 必須要關閉中斷,完全沒有實際使用價值 使用純io操作,參考 如下 void leddly int8u dly define ledtime 12 define spiledio perpheralbit gpi...