پاسخ : [آموزش]راه اندازی ماژول +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);
}
}



دیدگاه