spi匯流排模式選擇
nrf24l01操作函式spi_inittypedef spi_initstructure;
spi_initstructure.spi_direction = spi_direction_2lines_fullduplex; // spi設定為雙線雙向全雙工
spi_initstructure.spi_mode = spi_mode_master; // spi主機
spi_initstructure.spi_datasize = spi_datasize_8b; // 傳送接收8位幀結構
spi_initstructure.spi_cpol = spi_cpol_low; // 時鐘懸空低
spi_initstructure.spi_cpha = spi_cpha_1edge; // 資料捕獲於第1個時鐘沿
spi_initstructure.spi_nss = spi_nss_soft; // nss訊號由軟體控制
spi_initstructure.spi_baudrateprescaler = spi_baudrateprescaler_16; // 定義波特率預分頻的值:波特率預分頻值為16
spi_initstructure.spi_firstbit = spi_firstbit_msb; // 資料傳輸從msb位開始
spi_initstructure.spi_crcpolynomial = 7; // crc值計算的多項式
spi_init(spi1, &spi_initstructure); // 根據spi_initstruct中指定的引數初始化外設spix暫存器
/**
* nrf24l01寫暫存器
*@param reg:
*@param data:
*@return:讀寫狀態
*/void nrf24l01_write_reg(uint8_t reg, uint8_t data)
/** * nrf24l01讀暫存器
*@param reg:暫存器位址
*@note 位址在裝置中有效
*@return 讀取的資料
*/uint8_t nrf24l01_read_reg(uint8_t reg)
/** * nrf24l01寫指定長度的資料
*@param reg:暫存器位址
*@param p_buf:資料存放位址
*@param len:資料長度
*@note 資料長度不超過255,位址在裝置中有效
*@return 寫狀態
*/void nrf24l01_write_buf(uint8_t reg, uint8_t *p_buf, uint8_t len)
nrf24l01_csn_high();
}/**
* nrf24l01傳送資料
*@param tx_buf:傳送資料的位址
*@param len:資料長度
*@return
* max_tx:達到最大重發次數
* tx_ok:傳送完成
* 0xff:其他原因傳送失敗
*/ uint8_t nrf24l01_tx_packet(uint8_t *tx_buf, uint8_t len)
}status = nrf24l01_read_reg(status); // 讀狀態暫存器
nrf24l01_write_reg(status, status); // 清除tx_ds或max_rt中斷狀態
if (status & max_tx)
if (status & tx_ok)
return
0xff;
}/**
* nrf24l01接收資料
*@param rxbuf:接收資料存放位址
*@return 接收到資料的長度
*/ uint8_t nrf24l01_rx_packet(uint8_t *rx_buf)
return
0;
}
nRF24L01無線溫度檢測
在當今的工農業生產中,需要進行溫濕度採集的場合越來越多,準確方便地測量溫度變得至關重要。傳統的有線測溫方式存在著佈線複雜,線路容易老化,線路故障難以排查,裝置重新布局要重新佈線等問題。特別是在有線網路不通暢或由於現場環境因素的限制而不便架設線路的情況下,給溫濕度的資料採集帶來了很大的麻煩。要想監測到...
nRF24L01 使用說明
bit0 prim rx設定工作模式,傳送或接收,0 傳送 1 接收。bit1 pwm up設定是否上電,晶元在傳送或接收完成後根據此位判斷是進入powerdown模式 0 還是進入standby模式 1 bit2 crco設定crc的位元組數,0 1byte 1 2byte。bit3 en crc...
NRF24L01的通訊距離
nrf24l01模組的傳輸距離由 使用什麼天線 是否加了功率晶元 程式中選擇的傳輸速率 空曠和有障礙物 四個因素決定。目前市場上的nrf24l01有三種模組。1.天線在pcb上 零售價6元 15元 該模組的天線在pcb上,沒有加功率晶元,屬於傳輸距離最短的模組。空曠條件下,經過實測,2m傳輸速率下1...