메가 2560 R3 호환보드와 nRF24L01모듈을 연결하고,
스케치 업로드시 아래와 같은 진행 결과로 오류가 지속적으로 발생합니다.
#include <SPI.h>
#include "printf.h"
#include "RF24.h"
// instantiate an object for the nRF24L01 transceiver
RF24 radio(7, 8); // using pin 7 for the CE pin, and pin 8 for the CSN pin
// Let these addresses be used for the pair
uint8_t address[][6] = {"1Node", "2Node"};
// It is very helpful to think of an address as a path instead of as
// an identifying device destination
// to use different addresses on a pair of radios, we need a variable to
// uniquely identify which address this radio will use to transmit
bool radioNumber = 1; // 0 uses address[0] to transmit, 1 uses address[1] to transmit
// Used to control whether this node is sending or receiving
bool role = false; // true = TX role, false = RX role
// For this example, we'll be using a payload containing
// a single float number that will be incremented
// on every successful transmission
float payload = 0.0;
void setup() {
Serial.begin(115200);
while (!Serial) {
// some boards need to wait to ensure access to serial over USB
}
// initialize the transceiver on the SPI bus
if (!radio.begin()) {
Serial.println(F("radio hardware is not responding!!"));
while (1) {} // hold in infinite loop
}
// print example's introductory prompt
Serial.println(F("RF24/examples/GettingStarted"));
// To set the radioNumber via the Serial monitor on startup
Serial.println(F("Which radio is this? Enter '0' or '1'. Defaults to '0'"));
while (!Serial.available()) {
// wait for user input
}
char input = Serial.parseInt();
radioNumber = input == 1;
Serial.print(F("radioNumber = "));
Serial.println((int)radioNumber);
// role variable is hardcoded to RX behavior, inform the user of this
Serial.println(F("*** PRESS 'T' to begin transmitting to the other node"));
// Set the PA Level low to try preventing power supply related problems
// because these examples are likely run with nodes in close proximity to
// each other.
radio.setPALevel(RF24_PA_LOW); // RF24_PA_MAX is default.
// save on transmission time by setting the radio to only transmit the
// number of bytes we need to transmit a float
radio.setPayloadSize(sizeof(payload)); // float datatype occupies 4 bytes
// set the TX address of the RX node into the TX pipe
radio.openWritingPipe(address[radioNumber]); // always uses pipe 0
// set the RX address of the TX node into a RX pipe
radio.openReadingPipe(1, address[!radioNumber]); // using pipe 1
// additional setup specific to the node's role
if (role) {
radio.stopListening(); // put radio in TX mode
} else {
radio.startListening(); // put radio in RX mode
}
// For debugging info
// printf_begin(); // needed only once for printing details
// radio.printDetails(); // (smaller) function that prints raw register values
// radio.printPrettyDetails(); // (larger) function that prints human readable data
} // setup
void loop() {
if (role) {
// This device is a TX node
unsigned long start_timer = micros(); // start the timer
bool report = radio.write(&payload, sizeof(float)); // transmit & save the report
unsigned long end_timer = micros(); // end the timer
if (report) {
Serial.print(F("Transmission successful! ")); // payload was delivered
Serial.print(F("Time to transmit = "));
Serial.print(end_timer - start_timer); // print the timer result
Serial.print(F(" us. Sent: "));
Serial.println(payload); // print payload sent
payload += 0.01; // increment float payload
} else {
Serial.println(F("Transmission failed or timed out")); // payload was not delivered
}
// to make this example readable in the serial monitor
delay(1000); // slow transmissions down by 1 second
} else {
// This device is a RX node
uint8_t pipe;
if (radio.available(&pipe)) { // is there a payload? get the pipe number that recieved it
uint8_t bytes = radio.getPayloadSize(); // get the size of the payload
radio.read(&payload, bytes); // fetch payload from FIFO
Serial.print(F("Received "));
Serial.print(bytes); // print the size of the payload
Serial.print(F(" bytes on pipe "));
Serial.print(pipe); // print the pipe number
Serial.print(F(": "));
Serial.println(payload); // print the payload's value
}
} // role
if (Serial.available()) {
// change the role via the serial monitor
char c = toupper(Serial.read());
if (c == 'T' && !role) {
// Become the TX node
role = true;
Serial.println(F("*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK"));
radio.stopListening();
} else if (c == 'R' && role) {
// Become the RX node
role = false;
Serial.println(F("*** CHANGING TO RECEIVE ROLE -- PRESS 'T' TO SWITCH BACK"));
radio.startListening();
}
}
} // loop
====================================================================================================================
-업로드시 진행및 오류메시지-
아두이노:1.8.19 (Windows 10), 보드:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:Program Files (x86)Arduinoarduino-builder -dump-prefs -logger=machine -hardware C:Program Files (x86)Arduinohardware -tools C:Program Files (x86)Arduinotools-builder -tools C:Program Files (x86)Arduinohardwaretoolsavr -built-in-libraries C:Program Files (x86)Arduinolibraries -libraries C:Users김민재DocumentsArduinolibraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=2341_0042 -ide-version=10819 -build-path C:Users김민재AppDataLocalTemparduino_build_837613 -warnings=none -build-cache C:Users김민재AppDataLocalTemparduino_cache_591744 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.avr-gcc.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.arduinoOTA.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:Program Files (x86)Arduinohardwaretoolsavr -verbose C:Users김민재DocumentsArduinolibrariesRF24examplesGettingStartedGettingStarted.ino
C:Program Files (x86)Arduinoarduino-builder -compile -logger=machine -hardware C:Program Files (x86)Arduinohardware -tools C:Program Files (x86)Arduinotools-builder -tools C:Program Files (x86)Arduinohardwaretoolsavr -built-in-libraries C:Program Files (x86)Arduinolibraries -libraries C:Users김민재DocumentsArduinolibraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=2341_0042 -ide-version=10819 -build-path C:Users김민재AppDataLocalTemparduino_build_837613 -warnings=none -build-cache C:Users김민재AppDataLocalTemparduino_cache_591744 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.avr-gcc.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.arduinoOTA.path=C:Program Files (x86)Arduinohardwaretoolsavr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:Program Files (x86)Arduinohardwaretoolsavr -verbose C:Users김민재DocumentsArduinolibrariesRF24examplesGettingStartedGettingStarted.ino
Using board 'mega' from platform in folder: C:Program Files (x86)Arduinohardwarearduinoavr
Using core 'arduino' from platform in folder: C:Program Files (x86)Arduinohardwarearduinoavr
Detecting libraries used...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp" -o nul
Alternatives for SPI.h: [SPI@1.0]
ResolveLibrary(SPI.h)
-> candidates: [SPI@1.0]
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp" -o nul
Alternatives for printf.h: [RF24@1.4.2]
ResolveLibrary(printf.h)
-> candidates: [RF24@1.4.2]
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp" -o nul
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src\SPI.cpp" -o nul
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24\utility" "C:\Users\김민재\Documents\Arduino\libraries\RF24\RF24.cpp" -o nul
Generating function prototypes...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp" -o "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\preproc\ctags_target_for_gcc_minus_e.cpp"
"C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\preproc\ctags_target_for_gcc_minus_e.cpp"
스케치를 컴파일 중…
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp" -o "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp.o"
Compiling libraries...
Compiling library "SPI"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src\SPI.cpp" -o "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\libraries\SPI\SPI.cpp.o"
Compiling library "RF24"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24" "-IC:\Users\김민재\Documents\Arduino\libraries\RF24\utility" "C:\Users\김민재\Documents\Arduino\libraries\RF24\RF24.cpp" -o "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\libraries\RF24\RF24.cpp.o"
Compiling core...
Using precompiled core: C:Users김민재AppDataLocalTemparduino_cache_591744corecore_arduino_avr_mega_cpu_atmega2560_0c812875ac70eb4a9b385d8fb077f54c.a
Linking everything together...
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega2560 -o "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/GettingStarted.ino.elf" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\sketch\GettingStarted.ino.cpp.o" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\libraries\SPI\SPI.cpp.o" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613\libraries\RF24\RF24.cpp.o" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/..\arduino_cache_591744\core\core_arduino_avr_mega_cpu_atmega2560_0c812875ac70eb4a9b385d8fb077f54c.a" "-LC:\Users\김민재\AppData\Local\Temp\arduino_build_837613" -lm
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/GettingStarted.ino.elf" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/GettingStarted.ino.eep"
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/GettingStarted.ino.elf" "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/GettingStarted.ino.hex"
라이브러리 SPI를 버전 1.0 폴더: C:Program Files (x86)ArduinohardwarearduinoavrlibrariesSPI 에서 사용
라이브러리 RF24를 버전 1.4.2 폴더: C:Users김민재DocumentsArduinolibrariesRF24 에서 사용
"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-size" -A "C:\Users\김민재\AppData\Local\Temp\arduino_build_837613/GettingStarted.ino.elf"
스케치는 프로그램 저장 공간 7278 바이트(2%)를 사용. 최대 253952 바이트.
전역 변수는 동적 메모리 251바이트(3%)를 사용, 7941바이트의 지역변수가 남음. 최대는 8192 바이트.
C:Program Files (x86)Arduinohardwaretoolsavr/bin/avrdude -CC:Program Files (x86)Arduinohardwaretoolsavr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM11 -b115200 -D -Uflash:w:C:Users김민재AppDataLocalTemparduino_build_837613/GettingStarted.ino.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:Program Files (x86)Arduinohardwaretoolsavr/etc/avrdude.conf"
Using Port : COM11
Using Programmer : wiring
Overriding Baud Rate : 115200
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude done. Thank you.
스케치를 업로드 하는 동안 에러가 발생하였습니다.
댓글목록
작성자 이등병
작성일 2022-05-20
평점
보드가 혹시 다른센서라던지 예제사용이 불가능한가요? 가능하시면 보드를 바꿔서 다른걸로 테스트해서 한번비교해보셔야할것같습니다.
결선은 정확하진 않지만 맞게 잘하신것 같네요.