ATtiny85のSPI接続でコンパイルエラー
arduinoUNOにて動作確認済みのソースコードを変更してコンパイルを試みたのですが、エラーが発生してしまいます。
様々なサイトでATtinyでのDAコンバータの制御方法を調べても私の求めているものがありませんでした。
よろしければ助けていただけると嬉しいです。
####コード
Arduino
1#include <MCP4922.h> // https://github.com/helgenodland/MCP4922-Arduino-SPI-Library 2#include <tinySPI.h> // https://github.com/JChristensen/tinySPI 3 4#define MOSI 0 5#define SCK 2 6#define SS 3 7#define LDAC 4 8 9MCP4922 DAC(MOSI,SCK,SS,LDAC); //DAC(MOSI,SCK,SS,LDAC) 10void setup() { 11 SPI.begin(); 12 13} 14 15void loop() { 16 for(int i = 0; i < 4096 ; i++){ 17 DAC.Set(i,4095-i); 18 } 19}
####エラーメッセージ
arduino
1Arduino:1.8.12 (Windows Store 1.8.33.0) (Windows 10), ボード:"ATtiny25/45/85, Enabled, CPU, ATtiny85, 8 MHz (internal), EEPROM retained, B.O.D. Disabled, Enabled" 2 3In file included from C:\Users\kntki\OneDrive\�h�L�������g\ArduinoData\packages\ATTinyCore\hardware\avr\1.3.3\cores\tiny/Arduino.h:168:0, 4 5 from sketch\sketch_mar21a.ino.cpp:1: 6 7C:\Users\kntki\OneDrive\�h�L�������g\ArduinoData\packages\ATTinyCore\hardware\avr\1.3.3\variants\tinyX5/pins_arduino.h:48:14: error: expected ',' or '...' before numeric constant 8 9 #define SCK 2 10 11 ^ 12 13C:\Users\kntki\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:27:26: note: in expansion of macro 'SCK' 14 15 MCP4922(int SDI, int SCK,int CS, int LDAC); 16 17 ^~~ 18 19sketch_mar21a:9:29: error: no matching function for call to 'MCP4922::MCP4922(int, int, int, int)' 20 21 MCP4922 DAC(MOSI,SCK,SS,LDAC); //DAC(MOSI,SCK,SS,LDAC) 22 23 ^ 24 25In file included from C:\Users\kntki\AppData\Local\Temp\arduino_modified_sketch_957046\sketch_mar21a.ino:1:0: 26 27C:\Users\kntki\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:27:5: note: candidate: MCP4922::MCP4922(int, int) 28 29 MCP4922(int SDI, int SCK,int CS, int LDAC); 30 31 ^~~~~~~ 32 33C:\Users\kntki\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:27:5: note: candidate expects 2 arguments, 4 provided 34 35C:\Users\kntki\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:24:7: note: candidate: constexpr MCP4922::MCP4922(const MCP4922&) 36 37 class MCP4922 38 39 ^~~~~~~ 40 41C:\Users\User\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:24:7: note: candidate expects 1 argument, 4 provided 42 43C:\Users\User\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:24:7: note: candidate: constexpr MCP4922::MCP4922(MCP4922&&) 44 45C:\Users\User\OneDrive\�h�L�������g\Arduino\libraries\MCP4922-Arduino-SPI-Library-master/MCP4922.h:24:7: note: candidate expects 1 argument, 4 provided 46 47exit status 1 48no matching function for call to 'MCP4922::MCP4922(int, int, int, int)' 49 50「ファイル」メニューの「環境設定」から 51「より詳細な情報を表示する:コンパイル」を有効にすると 52より詳しい情報が表示されます。 53
####Arduino UNO での正常動作が確認できているコード
Arduino
1#include <MCP4922.h> // https://github.com/helgenodland/MCP4922-Arduino-SPI-Library 2#include <SPI.h> // https://github.com/JChristensen/tinySPI 3 4MCP4922 DAC(11,13,10,5); 5void setup() { 6 SPI.begin(); 7} 8 9void loop() { 10 for(int i = 0; i < 4096 ; i++){ 11 DAC.Set(i,4095-i); 12 } 13}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/21 09:01
2020/03/21 09:16
2020/03/21 09:25
2020/03/21 09:45
2020/03/21 10:07