新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM和WinCE6.0下nRF24L01的驅動設計

ARM和WinCE6.0下nRF24L01的驅動設計

作者: 時間:2012-05-23 來源:網(wǎng)絡 收藏

d.JPG

本文引用地址:http://www.butianyuan.cn/article/171420.htm

為了方便映射虛擬地址,在本中將所用到的特殊功能寄存器的虛擬地址由自定義類CS3c2440SFR來進行組織。其中“sfr”是類CS3c2440SFR的實例,D()是一個自定義宏,其源碼為“#define D(v_add)(*(volatile unsigned long*)v_add)”。

(2)NRF_Open()函數(shù)

NRF Open()函數(shù)主要實現(xiàn)了對初始化是否成功的判斷及對進行初始配制。核心代碼如下:

SPI_Write_Bur(WRITE REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH); //寫本地默認地址

SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH); //寫接收端默認地址

SPI_RW_Reg(WRITE_REG+EN_AA,0x01);

SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01);

SPI_RW_Reg(WRITE_REG+RF_CH,0);//設置信道工作為2.4 GHz,收發(fā)必須一致

SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOADWIDTH); //設置接收數(shù)據(jù)長度

SPI_RW_Reg(WRITE_REG+RF_SETUP,0x07);//設置發(fā)射速率為1 MHz,發(fā)射功率為最大值0 dB

(3)NRF_Read()函數(shù)

NRE_Read()函數(shù)實現(xiàn)了對接收緩沖區(qū)的讀取并傳送至應用程序。由于一次最多能接收32個字節(jié)的信息,所以該函數(shù)一次最多能傳送32字節(jié)的信息。主要核心代碼如下:

f.JPG

(4)NRF_Write()函數(shù)

NRE_Write()函數(shù)主要實現(xiàn)發(fā)送數(shù)據(jù)寫入發(fā)送緩沖區(qū)并發(fā)送的功能。主要核心代碼如下:

g.JPG

g1.jpg



評論


相關推薦

技術專區(qū)

關閉