نوشته اصلی توسط
arsham
من کد شما رو تست کردم و خب دقیقا همون جواب 0 رو دریافت کردم ولی چون من دقیقا نمیدونم میخواید چه کار انجام بدید نمی دونم کد رو اون جور که میخواید تونستم تغییر بدم یا نه
حالا این کد هارو میزارم ببینید به درد کارتون میخوره یا بازهم اگر مشکل داره بگید تغیرش بدم
کد مگا به عنوان فرستنده
کد:
/*
####UPLOAD TO MEGA####
# MOSI==>51 #
# MISO==>50 #
# SCK===>52 #
# # # # # # # # # # ##
# CE_pin 7&CSN_pin 8 #
######################
*/
//====# header files #====
#include<SPI.h>
#include<nRF24l01.h>
#include<RF24.h>
//====# define #====
#define CE_pin 7
#define CSN_pin 8
//====# pre initializing #====
RF24 radio(CE_pin,CSN_pin);
const uint64_t mega_to_uno_pipe=0x0f0f0f0f01LL; //40 bit add, differs in lsb
const uint64_t uno_to_mega_pipe=0x0f0f0f0f02LL; // LL means long-long
int A[1];
bool done;
//====# SetUp part #====
void setup(){
Serial.begin(9600);
radio.begin();
radio.setPayloadSize(sizeof(A));
radio.openReadingPipe(1,mega_to_uno_pipe);
radio.openWritingPipe(uno_to_mega_pipe);
radio.setRetries(0,0);
radio.setDataRate(RF24_1MBPS);
}
//====# The main program #====
void loop(){
A[0] = 0xF0;
done=radio.write( A, 1 );
Serial.print(done);
delay(100);
}
کد uno به عنوان گیرنده
کد:
/*
####UPLOAD TO UNO####
# MOSI==>11 #
# MISO==>12 #
# SCK===>13 #
# # # # # # # # # # #
#CE_pin 7&CSN_pin 8 #
#####################
*/
//====# header files #====
#include<SPI.h>
#include<nRF24l01.h>
#include<RF24.h>
//====# define #====
#define CE_pin 7
#define CSN_pin 8
//====# pre initializing #====
RF24 radio(CE_pin,CSN_pin);
const uint64_t mega_to_uno_pipe=0x0f0f0f0f01LL; //40 bit add, differs in lsb
const uint64_t uno_to_mega_pipe=0x0f0f0f0f02LL; // LL means long-long
int A[1];
bool done=false;
//====# SetUp part #====
void setup(){
A[0] = 0x000;
Serial.begin(9600);
radio.begin();
//radio.setPayloadSize(sizeof(A));
radio.openReadingPipe(1,uno_to_mega_pipe);
radio.openWritingPipe(mega_to_uno_pipe);
radio.setRetries(0,0);
radio.setDataRate(RF24_1MBPS);
pinMode(13,OUTPUT);
radio.startListening();
}
//====# The main program #====
void loop(){
if (radio.available()){
while (true){
radio.read(&A,sizeof(A));
if(A[0]==0xF0){
done=true;
}
//radio.stopListening();
digitalWrite(13,done);
Serial.print("Done: ");
Serial.println(done);
Serial.print("A[0]: ");
Serial.println(A[0],HEX);
delay(100);
}
}
}