|
本帖最后由 mylife1213 于 2015-2-25 23:35 编辑
nrf24l01+双向通讯,支持5个字节地址的节点数
主机:
- #include <nrf24l01.h>
- /*
- 接线方式: UNO ,Pro Mini ,Nano ,Duemilanove MEGA2560 , ADK
- CE-pin9 CE-pin9
- CS-pin8 CS-pin8
- SCK-pin13 SCK-pin52
- MISO-pin12 MISO-pin50
- MOSI-pin11 MOSI-pin51
- IRQ-pin2 IRQ-pin2
- ----------------------------------------------------------------------------------
- */
- #define uchar unsigned char
- nrf24l01 nrf;
- uchar TX_ADDRESS[]={192, 168, 10, 10, 6};
- uchar RX_ADD_P1[]={192, 168, 10, 10, 10};
- uchar RX_PW=10;
- uchar tx_data[32];
- uchar rx_data[32]={0};
- unsigned char n=0;
- void setup()
- {
- Serial.begin(9600);
- nrf.initialize();//初始化
- nrf.Send_mode();
- }
- void loop()
- {
- *nrf.send_data_[0]=n--;
- *nrf.send_data_[1]=n-2;
- *nrf.send_data_[2]=n-3;
- *nrf.send_data_[3]=n-4;
- *nrf.send_data_[4]=n-5;
-
- if(nrf.send_data(TX_ADDRESS , tx_data)){
- Serial.print("Mac: ");
- for(uchar x=0;x<5;++x){
- Serial.print( rx_data[x] );
- Serial.print(" : ");
- }
- Serial.print(" Data: ");
- for(uchar x=5;x<RX_PW;++x){
- Serial.print( rx_data[x] );
- Serial.print(" : ");
- }
- Serial.println(" ");
- }
- else {
- Serial.println("Time Out!");
- }
-
-
-
- delay(500);
-
- }
复制代码
从机:
- #include <nrf24l01.h>
- /*
- 接线方式: UNO ,Pro Mini ,Nano ,Duemilanove MEGA2560 , ADK
- CE-pin9 CE-pin9
- CS-pin8 CS-pin8
- SCK-pin13 SCK-pin52
- MISO-pin12 MISO-pin50
- MOSI-pin11 MOSI-pin51
- IRQ-pin2 IRQ-pin2
- ----------------------------------------------------------------------------------
- */
- #define uchar unsigned char
- nrf24l01 nrf;
- uchar RX_ADD_P1[6]={192, 168, 10, 10, 6};
- uchar RX_PW=10;
- uchar tx_data[32]={0};
- uchar rx_data[32]={0};//声明接收变量
- unsigned char n=0;
- void setup()
- {
- Serial.begin(9600);
- nrf.initialize(); //初始化
- nrf.SPI_RW_Reg(WRITE_REG + CONFIG, 0x3F);
- attachInterrupt(0, test, FALLING );
- nrf.read_data_status=true;
- }
- void loop()
- {
-
- if( !nrf.read_data_status ){
-
- *nrf.send_data_[0]=n++;
- *nrf.send_data_[1]=n+2;
- *nrf.send_data_[2]=n+3;
- *nrf.send_data_[3]=n+4;
- *nrf.send_data_[4]=n+5;
-
-
- Serial.print("Mac: ");
- for(uchar x=0;x<5;++x){
- Serial.print( rx_data[x] );
- Serial.print(" : ");
- }
- Serial.print(" Data: ");
- for(uchar x=5;x<RX_PW;++x){
- Serial.print( rx_data[x] );
- Serial.print(" : ");
- }
- Serial.println(" ");
-
- nrf.read_data_status=true;
- }
- }
- void test(){
- nrf.read_data_irq();
- }
复制代码
运行效果:
库文件发现错误,维护中
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|