国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
51單片機+NRF2401收發程序
[打印本頁]
作者:
coolfire
時間:
2021-4-21 03:28
標題:
51單片機+NRF2401收發程序
NRF2401收發程序只需要修改參數即可實現收發功能。
void NRF_SendMode(void)
{
NRF_WriteBytes(TX_ADDR,TxAddr,5); //設置發送地址
NRF_WriteReg(EN_AA,0x01); //允許P0自動應答
NRF_WriteReg(EN_RXADDR,0x01); //P0接收
NRF_WriteBytes(RX_ADDR_P0,RxAddr,5); //自動應答地址
NRF_WriteReg(RF_CH,40); //頻率
NRF_WriteReg(RF_SETUP,0x07); //功率和速度
NRF_WriteReg(CONFIG,0x0e); //發送模式
}
void NRF_RecvMode(void)
{
NRF_WriteReg(EN_RXADDR,0x01); //P0接收
NRF_WriteBytes(RX_ADDR_P0,RxAddr,5); //接收地址
NRF_WriteReg(EN_AA,0x01); //允許P0自動應答
NRF_WriteReg(RF_CH,40); //頻率
NRF_WriteReg(RF_SETUP,0x07); //功率和速度
NRF_WriteReg(RX_PW_P0,32); //數據有效寬度
NRF_WriteReg(CONFIG,0x0f); //接收模式
}
//返回值 0 存在設備 1 設備有問題
//參數 0 發送模式 1接收模式
u8 NRF_CONFIG(u8 mode)
{
NRF_IO_Init();
if(NRF_CheckDev()) //檢測設備存在
{
return 0xff;
}
switch(mode)
{
case NRF_TX:NRF_SendMode();
break; //發送
case NRF_RX:NRF_RecvMode();
break; //接收
default: return 0xff;
}
return 0x00;
}
void NRF_SendData(u8 *sbuf,u8 len)
{
CE = 0;
CSN = 0;
if(len>32)len = 32; //限制最大32個字節
NRF_SPI_RW(WR_TX_PLOAD); //發送fifo地址
while(len--)
{
NRF_SPI_RW(*sbuf++);
}
CSN = 1;
CE = 1;
}
復制代碼
1.png
(1.4 KB)
下載附件
2021-4-21 03:27 上傳
51d單片機_NRF24L01程序源碼(整理后).zip
(90.47 KB, 售價: 1 E幣)
2021-4-21 03:27 上傳
點擊文件名下載附件
售價: 1 E幣
[記錄]
[
購買
]
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0