欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
NRF24L01如何配置IRQ接收完(成功接收)數據后,進行外部中斷
[打印本頁]
作者:
JF.y
時間:
2020-4-22 03:02
標題:
NRF24L01如何配置IRQ接收完(成功接收)數據后,進行外部中斷
請大俠指示一下怎么配置這個參數。
我現在已經將單片機中的外部中斷0已啟用了。也已經將IRQ引腳接到了P32腳中。
單片機是STC89C52RC。
現在我的無線模塊是能正常通訊的,已經確認是能接收成功。
但是外部中斷0中的程序并未執行。
查了一下百度,說要在程序里先啟用IRQ中斷功能,請問,怎么啟用這個配置。
作者:
xxpp2011
時間:
2020-4-22 10:02
/******************************************************************/
/* 外部中斷初始化 */
/******************************************************************/
void EX0init(void)
{
IT0 = 1; //指定外部中斷0下降沿觸發,INT0 (P3.2)
EX0 = 1; //使能外部中斷
EA = 1; //開總中斷
}
作者:
小石頭123
時間:
2020-4-22 10:20
1、設置中斷寄存器中斷觸發方式IT
2、開啟外部中斷EX
3、開啟總中斷EA
根據51單片機中斷管腳 INT0 INT1
編寫中斷函數
作者:
JF.y
時間:
2020-4-22 14:37
majianghua999 發表于 2020-4-22 12:22
這個問題首先要先確認一下RF的IRQ是否打開,別用的是掃描方式收發,那么肯定單片機部分是無法有中斷的。如 ...
//===== 接收模式 =====
nrf_RxMod();
while_times = 120; //檢測是否接收成功 循環檢測?次 【可更改,讓接收循環次數大于發送循環次數效果較好】
while(while_times--) //接收超時或者接收成功,跳出循環 進入發送模式
{
get_nrf_sta(); //獲取狀態標志
if(RX_DR == 1) //接收成功
{
nrf_read(RxBuf); //接收成功后,將NRF24L01接收到的數據讀到單片機的RxBuf數組中。
break; //跳出循環
}
}
if(RX_DR == 1) //是因為接收到數據,而不是因為超時才跳出循環
{
wuxian_zt=1;
if(RxBuf[0] == 1)
{
LED2=0; //點亮LED
go();
}
else if(RxBuf[0] == 0)
LED2=1;
}
else
{
wuxian_zt=0;
}
復制代碼
作者:
JF.y
時間:
2020-4-22 14:37
我現在用的是if(RX_DR == 1) 這個指令來確認是否接收到數據的。
且是放到主函數,while循環里。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1