|
這個(gè)是收發(fā)一體的程序,完整的程序在附件里面附件
void main(void)
{
uint while_times = 0;
led6 =0;
led5 =0; // led0 = 0;
lcd_delay(1000);
init_NRF24L01();
lcd_delay(100);
while(1)
{
//===== 發(fā)送模式 =====
// if(KEY_0 == 0)//
// {
// TxBuf[1] = 1;
// TxBuf[2] = 1;
nrf_TxMod(); //對(duì)相關(guān)寄存器配置成發(fā)送模式
if(KEY_0 == 0) { TxBuf[1] = 0;led2 = 0; }
if(KEY_1 == 0) { TxBuf[1] = 1; led2 = 1;}
// else { TxBuf[1] = 1; }
if(KEY_2 == 0) {TxBuf[2] = 0;led0=0;}
if(KEY_3 == 0) {TxBuf[2] = 1;led0=1;}
//else TxBuf[2] = 1;
//把1存入TxBuf[1]中,然后發(fā)送出去;接收程序判斷RxBuf[1]的值,等于1的話(huà)點(diǎn)亮LED
//把1存入TxBuf[2]中,然后發(fā)送出去;接收程序判斷RxBuf[2]的值,等于1的話(huà)點(diǎn)亮LED
nrf_trans(TxBuf); //將待發(fā)送的數(shù)據(jù)寫(xiě)入NRF24L01
while_times = 80; //檢測(cè)是否發(fā)送成功 循環(huán)檢測(cè)?次 【可更改,讓接收循環(huán)次數(shù)大于發(fā)送循環(huán)次數(shù)效果較好】
while(while_times-- ) //發(fā)送超時(shí),或者發(fā)送成功,跳出循環(huán) 進(jìn)入接收模式
{
get_nrf_sta(); //獲取狀態(tài)標(biāo)志
if(TX_DS == 1) //發(fā)送成功,跳出循環(huán)
{break;}
}
// }
// //===== 接收模式 =====
// nrf_RxMod(); //對(duì)相關(guān)寄存器配置成接受模式
// while_times = 160; //檢測(cè)是否接收成功 循環(huán)檢測(cè)?次 【可更改,讓接收循環(huán)次數(shù)大于發(fā)送循環(huán)次數(shù)效果較好】
// while(while_times--) //接收超時(shí)或者接收成功,跳出循環(huán) 進(jìn)入發(fā)送模式
// {
// get_nrf_sta(); //獲取狀態(tài)標(biāo)志
// if(RX_DR == 1) //接收成功
// {
// nrf_read(RxBuf); //接收成功后,將NRF24L01接收到的數(shù)據(jù)讀到單片機(jī)的RxBuf數(shù)組中。
// led0=1;
// break; //跳出循環(huán)
// }else led0=0;
// }
// if(KEY_0 == 0) led7= 0;
// if(KEY_1 == 0) led7= 1;
// if(RX_DR == 1) //是因?yàn)榻邮盏綌?shù)據(jù),而不是因?yàn)槌瑫r(shí)才跳出循環(huán)
// {
//
// if(RxBuf[1] == 0) led2 = 1;
// else led2 = 0;
//
// if(RxBuf[2] == 0) led3 = 1;
// else led3 = 0;
// }
}
}
感覺(jué)是接受那部分的,問(wèn)題。引腳它還是標(biāo)錯(cuò)的,后來(lái)?yè)Q過(guò)新模塊來(lái)調(diào)試了。有沒(méi)有大神幫看一下。
|
-
-
NRF資料.rar
2019-4-20 09:07 上傳
點(diǎn)擊文件名下載附件
58.62 KB, 下載次數(shù): 11
評(píng)分
-
查看全部評(píng)分
|