在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

2.4G NRF2401的無線通訊實現

要長高 ? 來源:cnblogs ? 作者:Kevin1207 ? 2022-06-27 15:30 ? 次閱讀

RF24L01+,是工作在2.4~2.5GHz 頻段的,具備自動重發功能,6 個數據傳輸通道,最大無線傳輸速率為2Mbits。MCU 可與該芯片通過SPI 接口訪問芯片的寄存器進行配置,達到控制模塊、通過該模塊實現無線通訊的目的。

具體細節參考《《野火STM32--2.4G無線傳輸》》

優點:不需要建立連接就可以進行收發

PCB管腳

poYBAGK5W8SAT7x6AAMSIsSPThU969.png

其中各個接口作用如下

pYYBAGK5W8qAE4Y_AACDRpsiEkQ314.png

在應用中我們需要一對收發,也就是一個主機和一個從機。主機和從機的驅動部分是一樣的(配置文件SPI_NRF.c 文件相同),區別是main函數中調用的模式不同,主機一般是發送模式NRF_TX_Mode();,而從機采用的是接收模式 NRF_RX_Mode();

應用的基本流程

注意事項:

(1)首先要檢查接線,一般配置的是SPI1,然后要對應程序里面的配置來接線

SPI1

SCK = PA5 MISO = PA6 MOSI = PA7

CE = PA4 CSN =PC4 IRQ = PC5

poYBAGK5W9GAayqwAACKCJjyfpY745.png

后兩個是作為普通IO口,任意管腳均可

從機部分:

(1)SPI_NRF_Init(); //初始化SPI接口

(2)NRF_RX_Mode(); // 設置為接收模式

(3)while循環里等待接收,判斷接收狀態,并進行接收

#include “stm32f10x.h”#include “bsp_usart1.h”#include “bsp_spi_nrf.h”u8 status; //用于判斷接收/發送狀態u8 rxbuf[4]; //接收緩沖u8 i;

int main(void)

{

/* 串口1初始化 */

USART1_Config();

/*SPI接口初始化*/

SPI_NRF_Init();

printf(“\r\n 這是一個 NRF24L01 無線傳輸實驗 \r\n”);

printf(“\r\n 這是無線傳輸 從機端 的反饋信息\r\n”);

printf(“\r\n 正在檢測NRF與MCU是否正常連接。。。\r\n”); /*檢測NRF模塊與MCU的連接*/

status = NRF_Check();

if(status == SUCCESS)

printf(“\r\n NRF與MCU連接成功\r\n”);

else

printf(“\r\n 正在檢測NRF與MCU是否正常連接。。。\r\n”);

NRF_RX_Mode(); // 設置為接收模式

printf(“\r\n 從機端 進入接收模式\r\n”); while(1)

{

/*等待接收數據*/

status = NRF_Rx_Dat(rxbuf); /*判斷接收狀態*/

switch(status)

{ case RX_DR: for(i=0;i《4;i++)

{

printf(“\r\n 從機端 接收到 主機端 發送的數據為:%d \r\n”,rxbuf[i]);

}break;

case ERROR:

printf(“\r\n 從機端 接收出錯。 \r\n”);break;

}

}

}

主機部分:

(1)SPI_NRF_Init(); //初始化SPI接口

(2)NRF_TX_Mode(); // 設置為發送模式

(3)發送數據,查看發送狀態,否則重發。比如用按鍵中斷來進行一次發送

注:一般都會顯示超時,但是實際接收端有接收到。

初始化和配置與從機相同,除了TX模式

發送部分的代碼:

void EXTI0_IRQHandler(void)

{ int i=0; if(EXTI_GetITStatus(EXTI_Line0) != RESET) // 確保是否產生了EXTI Line中斷!! { for(i=0;i《4;i++)

txbuf[i]+=1;

printf(“\r\n exit \r\n”);

status = NRF_Tx_Dat(txbuf);

switch(status)

{ case MAX_RT:

printf(“\r\n 主機端 沒接收到應答信號,發送次數超過限定值,發送失敗。 \r\n”); break; case ERROR:

printf(“\r\n 未知原因導致發送失敗。 \r\n”); break; case TX_DS:

printf(“\r\n 主機端 接收到 從機端 的應答信號,發送成功! \r\n”);

break;

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17893

    瀏覽量

    361838
  • pcb
    pcb
    +關注

    關注

    4358

    文章

    23443

    瀏覽量

    407726
  • 寄存器
    +關注

    關注

    31

    文章

    5427

    瀏覽量

    123714
  • 無線通訊
    +關注

    關注

    5

    文章

    611

    瀏覽量

    40748
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    NRF2410無線通訊模塊原理,程序,驅動,源代碼等詳細資料

    NRF2410無線通訊模塊原理,程序,源代碼等詳細資料 RF射頻芯片nRF2401應用程序,控制器采用ATmega8芯片;制作nRF2401無線通訊
    發表于 06-27 09:47

    求助 nrf2401的應用

    本帖最后由 eehome 于 2013-1-5 10:05 編輯 l Mb/s數據率,7000個字節的數據通過無線通訊,剛看了nrf2401的模塊好像可以用,但自己不會弄啊,跪求求大俠們幫幫忙啊,先謝謝了。本人qq464149261.
    發表于 09-26 10:58

    關于51單片機NRF2401與STM32的NRF2401之間的通訊問題

    我用51單片機NRF2401與STM32的NRF2401通訊,,51單片機的作為發送芯片;STM32的作為接收芯片,但是接收打開后很久才能接收到數據并且是亂碼,求解答這是什么原因???
    發表于 07-20 11:59

    2.4G低功耗無線方案

    )+16M/3225/9PF/±10PPM(晶振)4. 2.4G有源卡方案:NRF24L01P(2.4G收發芯片)+AT2401C(射頻放大器)+16M/3225/9PF/±10PPM
    發表于 07-11 14:00

    2.4g無線通訊技術問題

    最近做個項目需要用到無線通訊 技術,要實現點對多模式進行數據傳輸。由于傳輸距離100m以內,所有自己心里目前有三種方案:一,使用wifi模塊;二,使用nrf模塊;三,使用無線zigbe
    發表于 04-21 03:49

    CH579M的2.4G能否與nRf2401+通信?

    CH579M的2.4G加一個RFX2401放大器做成一個網關,與現在使用的nRF2401+模塊通信,不知是否可以實現,有什么資料參考嗎?
    發表于 08-25 07:18

    nrf2401的msp430程序

    nrf2401的msp430程序
    發表于 04-11 09:59 ?173次下載
    <b class='flag-5'>nrf2401</b>的msp430程序

    基于nRF2401的分布式測溫系統設計

    利用溫度傳感器DS18B20 、AT89S51 單片機和nRF2401 收發芯片設計分布式無線溫度測試系統。將溫度傳感器DS18B20 采集到的溫度數據送入單片機中進行處理,通過nRF2401
    發表于 08-30 15:51 ?134次下載

    基于nRF2401的機械儀表無線通信的設計方案

    針對大型工程機械各類信號與駕駛操控室儀表異地顯示的通信問題,提出了基于射頻收發器nRF2401實現無線數據通信的設計方案,詳細介紹了射頻芯片nRF2401的工作原理及特點, 并給
    發表于 11-22 14:55 ?46次下載

    基于ATmega16和nRF2401無線射頻收發系統設計

    基于ATmega16和nRF2401無線射頻收發系統設計。
    發表于 01-25 10:28 ?17次下載

    基于nRF2401無線數據傳輸系統

    基于nRF2401無線數據傳輸系統,參考下。
    發表于 01-25 10:28 ?53次下載

    基于nrf2401無線收發點菜器系統的設計與實現

    基于nrf2401無線收發點菜器系統的設計與實現
    發表于 02-17 10:01 ?53次下載

    NRF2401中文數據手冊

    2.4GHz射頻收發芯片nRF2401及其應用。
    發表于 04-06 16:52 ?186次下載

    nRF2401無線模塊的PCB圖免費下載

    本文檔的主要內容詳細介紹的是nRF2401無線模塊的PCB圖免費下載。
    發表于 11-05 08:00 ?72次下載
    <b class='flag-5'>nRF2401</b><b class='flag-5'>無線</b>模塊的PCB圖免費下載

    2.4G無線通訊模塊SI24R1

    電子發燒友網站提供《2.4G無線通訊模塊SI24R1.zip》資料免費下載
    發表于 07-28 10:23 ?29次下載
    <b class='flag-5'>2.4G</b><b class='flag-5'>無線通訊</b>模塊SI24R1
    主站蜘蛛池模板: 亚洲成人三级 | 美女被网站免费看九色视频 | 中文字幕一区二区三区四区 | 狠狠干人人干 | 男女爱爱爽爽福利免费视频 | 日本黄色免费大片 | 天天做人人爱夜夜爽2020 | 日本亚洲欧美国产日韩ay高清 | 超薄肉色丝袜精品足j福利 超黄视频在线观看 | 四虎影院在线免费观看视频 | brazzersvideosexhd欧美高清 | 老司机成人精品视频lsj | 天天综合天天做天天综合 | 717影院理论午夜伦八戒 | www永久免费视频 | 九九精品在线 | 国语对白老女人8av 孩交精品xxxx视频视频 | 玖玖激情| 日本黄色录像 | 国产天堂网| 草草操 | 午夜视频免费观看 | 久久香蕉国产线看观看亚洲片 | 性欧美大战久久久久久久野外 | 日本精品一卡二卡≡卡四卡 | 亚洲视频二 | www.亚洲视频.com | 国产国拍亚洲精品mv在线观看 | 色老二精品视频在线观看 | 欧美性区 | 免费理论片在线观看播放 | 美国一级大黄香蕉片 | 成年人看的毛片 | jizjizjizjiz日本护士出水 | 欧美色视频在线 | 五月婷婷六月丁香在线 | 大蕉久久伊人中文字幕 | 明日花绮罗snis-862在线播放 | 91福利社在线观看 | 欧美视频不卡一区二区三区 | 精品噜噜噜噜久久久久久久久 |