پاسخ : [آموزش]راه اندازی ماژول +nRF24L01
1 همون دیتایی هست که شما میخواهید بفرستید . بله میتونید هر دیتای 8 بیتی از نوع char رو بفرستید .
1 همون دیتایی هست که شما میخواهید بفرستید . بله میتونید هر دیتای 8 بیتی از نوع char رو بفرستید .
[LEFT](send_data(1,&i[/LEFT]
i=payload[1]
[LEFT](send_data(1,&i[/LEFT]
i=payload[1]
Command_Reg = 0x01; Set_Reg(0x21); Command_Reg = 0x01; Set_Reg(0x22); Command_Reg = 0x03; Set_Reg(0x23); Command_Reg = 0x2f; Set_Reg(0x24); Command_Reg = 0x01; Set_Reg(0x25); Command_Reg = 0x06; Set_Reg(0x26); Set_Reg(0x2A); Set_Reg(0x30); Command_Reg = 0x01; Set_Reg(0x3C); Command_Reg = 0x07; Set_Reg(0x3D);
Command_Reg = 0x01; // entekhabe auto ack baraye pipe 0 Set_Reg(0x21); // 001A AAAA OR 0000 00001 ==> 0X21 Command_Reg = 0x01; // entekhabe pipe 0 be onvane pipe faal Set_Reg(0x22); // 001A AAAA OR 0000 00002 ==> 0X22 Command_Reg=0x03; // neveshtan halate 5 byte baraye toole address Set_Reg(0x23); // 001A AAAA OR 0000 00011 ==> 0X23 entekhabe SETUP_AW REG. jahate neveshtan Command_Reg=0x2f; // neveshtan halate 15 bar retransmit Set_Reg(0x24); // 001A AAAA OR 0000 0100 ==> 0X24 entekhabe SETUP_RETR jahate neveshtan Command_Reg=0x01; // neveshtan halate frequens 2401 Mhz Set_Reg(0x25); // 001A AAAA OR 0000 0101 ==> 0X25 entekhabe RF_CH jahate neveshtan Command_Reg=0x26; // neveshtan datarate 250 kbps va tavan 0dbm(max) Set_Reg(0x26); // 001A AAAA OR 0000 0110 ==> 0X26 entekhabe RF_SETUP jahate neveshtan Set_Reg(0x2A); // 001A AAAA OR 0000 1010 ==> 0X2A neveshtan dar RX_ADDR_P0 & ERSALE adade // Base_Addrs daroon an Set_Reg(0x30); // 001A AAAA OR 0001 0000 ==> 0X30 neveshtan dar TX_ADDR & ERSALE adade base_address daroon an Command_Reg=0x01; // neveshtan dar dynamic payload DPL_P0 va faalsazi an jahate DPL dar pipe 0 Set_Reg(0x3C); // 001A AAAA OR 0001 1100 ==> 0X3C entekhabe register DYNPD jahate neveshtan Command_Reg=0x07; // neveshtan dar EN_DPL , EN_ACK_PAY ,EN_DYN_ACK Set_Reg(0x3D); // 001A AAAA OR 0001 1101 ==> 0X3D entekhabe FEATURE jahate neveshtan
Command_Reg = 0x01; // entekhabe auto ack baraye pipe 0 Set_Reg(0x21); // 001A AAAA OR 0000 00001 ==> 0X21 Command_Reg = 0x01; // entekhabe pipe 0 be onvane pipe faal Set_Reg(0x22); // 001A AAAA OR 0000 00002 ==> 0X22 Command_Reg=0x03; // neveshtan halate 5 byte baraye toole address Set_Reg(0x23); // 001A AAAA OR 0000 00011 ==> 0X23 entekhabe SETUP_AW REG. jahate neveshtan Command_Reg=0x2f; // neveshtan halate 15 bar retransmit Set_Reg(0x24); // 001A AAAA OR 0000 0100 ==> 0X24 entekhabe SETUP_RETR jahate neveshtan Command_Reg=0x01; // neveshtan halate frequens 2401 Mhz Set_Reg(0x25); // 001A AAAA OR 0000 0101 ==> 0X25 entekhabe RF_CH jahate neveshtan Command_Reg=0x26; // neveshtan datarate 250 kbps va tavan 0dbm(max) Set_Reg(0x26); // 001A AAAA OR 0000 0110 ==> 0X26 entekhabe RF_SETUP jahate neveshtan Set_Reg(0x2A); // 001A AAAA OR 0000 1010 ==> 0X2A neveshtan dar RX_ADDR_P0 & ERSALE adade // Base_Addrs daroon an Set_Reg(0x30); // 001A AAAA OR 0001 0000 ==> 0X30 neveshtan dar TX_ADDR & ERSALE adade base_address daroon an Command_Reg=0x01; // neveshtan dar dynamic payload DPL_P0 va faalsazi an jahate DPL dar pipe 0 Set_Reg(0x3C); // 001A AAAA OR 0001 1100 ==> 0X3C entekhabe register DYNPD jahate neveshtan Command_Reg=0x07; // neveshtan dar EN_DPL , EN_ACK_PAY ,EN_DYN_ACK Set_Reg(0x3D); // 001A AAAA OR 0001 1101 ==> 0X3D entekhabe FEATURE jahate neveshtan
#include <avr/io.h> #include <stdio.h> #include <avr/io.h> #include "library/nRF24L01+.h" #include "library/uart.h" #include "library/pcd8544.h" #define UART_BAUD_RATE 9600 char data1[5],str[33],st; int main(void) { nRF_Config(1); uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); sei(); LcdInitialise(); LcdClear(); _delay_ms(2000); gotoXY(0,0); LcdString("hi",0); _delay_ms(1000); LcdClear(); DDRA=0XFF; while (1) { if(State == 1) { data1[0]=payload[1]; data1[1]=payload[2]; data1[2]=payload[3]; data1[3]=payload[4]; data1[4]=payload[5]; data1[5]=payload[6]; data1[6]=payload[7]; data1[7]=payload[8]; sprintf(str,"Data1 = %d",data1[1]); gotoXY(0,0); LcdString(str,0); LcdString(" ",0); sprintf(str,"Data2 = %d",data1[2]); gotoXY(0,1); LcdString(str,0); LcdString(" ",0); sprintf(str,"Data3 = %d",data1[3]); gotoXY(0,2); LcdString(str,0); LcdString(" ",0); sprintf(str,"Data4 = %d",data1[4]); gotoXY(0,3); LcdString(str,0); LcdString(" ",0); sprintf(str,"Data5 = %d",data1[5]); gotoXY(0,4); LcdString(str,0); LcdString(" ",0); sprintf(str,"Data6 = %d",data1[6]); gotoXY(0,5); LcdString(str,0); LcdString(" ",0); State = 0; } _delay_ms(20); } }
#include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #include "library/nRF24L01+.h" #include "library/pcd8544.h" char data1[5],str[13],a=0,b=0,c=0; int main(void) { _delay_ms(2000); LcdInitialise(); LcdClear(); nRF_Config(0); _delay_ms(100); sei(); DDRA=0XFF; while (1) { a=a+2; b=b+2; c=c+2; itoa(a,str,10); gotoXY(0,0); LcdString(str,0); LcdString(" ",0); itoa(b,str,10); gotoXY(0,1); LcdString(str,0); LcdString(" ",0); itoa(c,str,10); gotoXY(0,2); LcdString(str,0); LcdString(" ",0); data1[0]=10; data1[1]=12; data1[2]=14; data1[3]=16; data1[4]=20; data1 [5]=10; data1[6]=15; data1[7]=30; Send_Data(7,data1); _delay_ms(240); } }
دیدگاه