久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 中斷方式實現nRF24L01無線數據接收 [打印本頁]

作者: yantao    時間: 2010-6-1 22:44
標題: 中斷方式實現nRF24L01無線數據接收

hi

 

當前在用nRF24L01進行無線數據通信的解決方案中,在接收方是通過無限循環來接收數據的,這樣無疑會降低程序的運行效率,增大最終系統的功耗。

 

能不能將nRF24L01接收端改為中斷出發方式,當有數據產生中斷觸發時,在運行接收程序,接收數據。插入P3.2那根線應該就是中斷源,不知我分析得對不對?還有就是把無線接收程序寫為中斷服務程序是否可行?


作者: admin    時間: 2010-6-2 00:32

   完全可以,用中斷來喚醒,然后用中斷函數來接受數據,接受完畢后再讓24l01 進入休眠模式.最大限度的降低功耗,只不過網上這方面的例子很少

 

void ISR_int1(void) interrupt 0    //外部中斷0
{
 sta=nRF24L01_SPI_Read(STATUS);   //讀寄存器STATUS狀態
 if(RX_DR){                 //接收數據產生中斷
  nRF24L01_SPI_Read_Buf(RD_RX_PLOAD,rx_buf,REBACK_WIDTH);//從FIFO中讀接收數據
  flag_r=1;             //接收到數據標志
 }
 if(TX_DS){             //發送完成
  flag_t=1;             //發送完成標志
 }
 if(MAX_RT){             //沒有應答
   nRF24L01_SPI_RW_Reg(FLUSH_TX,0); //清發送FIFO       ?  
  flag_e=1;              //出錯標志 
 }
 // 清RX_DR 或 TX_DS 或 MAX_RT 中斷標志位
 nRF24L01_SPI_RW_Reg(WRITE_REG+STATUS,sta);
   nRF24L01_Sleep_Mode(0); //休眠
}
你可參考一下這種方式 來修改原來的程序.

作者: hfbjjs    時間: 2011-1-12 13:27

能不能將nRF24L01接收端改為中斷出發方式-----觸發方式!

不管你用什么方式,千萬注意一個關鍵問題:

無線電接收是無時無刻的現象,不管是不是你發射的.-------就是只要你的接收電路一旦開始工作,不管是不是發射也工作了,都會接收到無數多的無線電信號.---你如果使用中斷,也會不停進入中斷的!

接收是否正確,實際是依靠你程序的判斷來決定是否接收有效.-----不停中斷,不停否認!

所以啊!中斷方式和輪詢方式,都要有間隔時間,否則其它子程序就不能運行了,或者很少機會運行了!

這也絕非 nRF24L01 所有,其它無線數據傳輸都會遇見這個問題.

你有手機吧?它就不停接到信號,只不過不是你的號碼就忽略了!

僅供參考!






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久草在线在线精品观看 | 欧美 日韩 中文 | 成人免费看黄网站在线观看 | 国产综合久久 | 玖玖精品 | 亚洲欧美综合精品久久成人 | 一区二区在线 | 精品国产18久久久久久二百 | 亚洲免费视频在线观看 | 日韩福利| 蜜桃av人人夜夜澡人人爽 | 精品视频在线观看 | 亚洲成人一级 | 亚洲成人精品免费 | 一本一道久久a久久精品综合 | 成人精品一区二区三区中文字幕 | 国产精品大片 | 精品一区二区三区不卡 | 美女逼网站| 国产一区二区在线免费观看 | 国产精品国产a级 | 久久久久久艹 | 国产精品精品视频一区二区三区 | 黄色片在线免费看 | 亚洲国产精品视频一区 | 国产亚洲精品一区二区三区 | 久久网站黄 | 日韩av成人在线观看 | 99精品国产成人一区二区 | 国产精品3区 | 日韩在线精品视频 | 一级免费a | 99久久精品免费看国产四区 | 最新日韩欧美 | 毛片入口 | 日本黄色短片 | 亚洲网在线 | 91精品国产综合久久国产大片 | 激情网五月天 | 欧美性高潮 | 精品在线观看一区二区 |