上記のサイトを参考に、ニキシー管をスタティック点灯させたいのですがエラーが発生してしまったので、こちらから質問させていただきます。
経緯
本来はArduino UNO IDEを使用して、Arduino UNOにプログラムを転送したいのですが、
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
というエラーが発生してしまい、いろいろと試したのですが解決しなかったのでPlatformIOを使用して転送します。
問題
Arduino UNO IDEでコンパイルした時はエラーは起きなかったのですが、PlatformIOで実行すると以下のエラーが発生します。
Executing task: pio run <
Processing uno (platform: atmelavr; board: uno; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/uno.html
PLATFORM: Atmel AVR (3.1.0) > Arduino Uno
HARDWARE: ATMEGA328P 16MHz, 2KB RAM, 31.50KB Flash
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:
- framework-arduino-avr 5.1.0
- toolchain-atmelavr 1.50400.190710 (5.4.0)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 5 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/uno/src/main.cpp.o
Archiving .pio/build/uno/libFrameworkArduinoVariant.a
Compiling .pio/build/uno/FrameworkArduino/CDC.cpp.o
Compiling .pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o
src/main.cpp: In function 'void setup()':
src/main.cpp:17:27: error: 'nixieWrite' was not declared in this scope
nixieWrite(A, B, C, D, 0);
^
*** [.pio/build/uno/src/main.cpp.o] Error 1
Indexing .pio/build/uno/libFrameworkArduinoVariant.a
==================================================== [FAILED] Took 2.71 seconds ====================================================
The terminal process "pio 'run'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.
ソースコード
#include <Arduino.h> uint8_t currentValue = 0; //Use pins 10, 11, 12 & 13 of Arduino //Connect to pins A, B, C & D of your SN74141 Nixie driver chip #define A 10 #define B 11 #define C 12 #define D 13 void setup() { pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); nixieWrite(A, B, C, D, 0); } void nixieWrite(uint8_t a, uint8_t b, uint8_t c, uint8_t d, uint8_t value){ //D is most significant bit //A is least significant bit digitalWrite(d, (value & 0x08) >> 3); digitalWrite(c, (value & 0x04) >> 2); digitalWrite(b, (value & 0x02) >> 1); digitalWrite(a, value & 0x01); } void loop() { delay(1000); currentValue++; if(currentValue > 9) currentValue = 0; nixieWrite(A, B, C, D, currentValue); } コード
サイトのソースコードをそのままコピペしているので、エラーが出るはずはないのですが。。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/15 06:12