Здравствуйте, по уроку: https://www.arduino.cc/en/Tutorial/DueSimpleWaveformGenerator - сделал 2 файла. Первый FunctionGenerator.ino, а второй Waveform.h При проверке кода выдает ошибку: Arduino: 1.6.6 (Windows 10), Плата:"Arduino/Genuino Uno" C:\Users\Mikhail\Documents\Arduino\FunctionGenerator\FunctionGenerator.ino: In function 'void setup()': FunctionGenerator:24: error: 'analogWriteResolution' was not declared in this scope analogWriteResolution(12); // set the analog output resolution to 12 bit (4096 levels) ^ FunctionGenerator:25: error: 'analogReadResolution' was not declared in this scope analogReadResolution(12); // set the analog input resolution to 12 bit ^ In file included from sketch\FunctionGenerator.ino.cpp:1:0: C:\Users\Mikhail\Documents\Arduino\FunctionGenerator\FunctionGenerator.ino: In function 'void loop()': FunctionGenerator:36: error: 't_sample' was not declared in this scope sample = constrain(t_sample, 0, oneHzSample); ^ D:\Борисов диск Д\arduino-1.6.6-windows\hardware\arduino\avr\cores\arduino/Arduino.h:87:35: note: in definition of macro 'constrain' #define constrain(amt,low,high) ((amt)<(low)?(low)(amt)>(high)?(high)amt))) ^ FunctionGenerator:38: error: 'DAC0' was not declared in this scope analogWrite(DAC0, waveformsTable[wave0]); // write the selected waveform on DAC0 ^ FunctionGenerator:39: error: 'DAC1' was not declared in this scope analogWrite(DAC1, waveformsTable[wave1]); // write the selected waveform on DAC1 ^ exit status 1 'analogWriteResolution' was not declared in this scope Это сообщение будет содержать больше информации чем "Отображать вывод во время компиляции" включено в Файл > Настройки Что делать?
Скетчи не трогал, а просто скопировал. Код (C++): Arduino: 1.6.6 (Windows 10), Плата:"Arduino/Genuino Uno" C:\Users\Mikhail\Documents\Arduino\FunctionGenerator\FunctionGenerator.ino: In function 'void setup()': FunctionGenerator:25: error: 'analogWriteResolution' was not declared in this scope analogWriteResolution(8); // set the analog output resolution to 12 bit (4096 levels) ^ FunctionGenerator:26: error: 'analogReadResolution' was not declared in this scope analogReadResolution(8); // set the analog input resolution to 12 bit ^ In file included from sketch\FunctionGenerator.ino.cpp:1:0: C:\Users\Mikhail\Documents\Arduino\FunctionGenerator\FunctionGenerator.ino: In function 'void loop()': FunctionGenerator:37: error: 't_sample' was not declared in this scope sample = constrain(t_sample, 0, oneHzSample); ^ D:\Борисов диск Д\arduino-1.6.6-windows\hardware\arduino\avr\cores\arduino/Arduino.h:87:35: note: in definition of macro 'constrain' #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) ^ FunctionGenerator:39: error: 'DAC0' was not declared in this scope analogWrite(DAC0, waveformsTable[wave0][i]); // write the selected waveform on DAC0 ^ FunctionGenerator:40: error: 'DAC1' was not declared in this scope analogWrite(DAC1, waveformsTable[wave1][i]); // write the selected waveform on DAC1 ^ exit status 1 'analogWriteResolution' was not declared in this scope
Учтите, что analogWriteResolution() - это функция, расширяющая API для работы с аналоговыми величинами для Arduino Due.
Установил DUE, теперь выдает ошибку: Код (C++): Arduino: 1.6.6 (Windows 10), Плата:"Arduino Due (Programming Port)" In file included from C:\Users\Mikhail\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.6\cores\arduino/Arduino.h:44:0, from sketch\FunctionGenerator.ino.cpp:1: C:\Users\Mikhail\Documents\Arduino\FunctionGenerator\FunctionGenerator.ino: In function 'void loop()': FunctionGenerator:37: error: 't_sample' was not declared in this scope sample = constrain(t_sample, 0, oneHzSample); ^ C:\Users\Mikhail\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.6\cores\arduino/wiring_constants.h:74:35: note: in definition of macro 'constrain' #define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) ^ exit status 1 't_sample' was not declared in this scope Это сообщение будет содержать больше информации чем "Отображать вывод во время компиляции" включено в Файл > Настройки
Для реализации этого примера нужен "честный" цифро-аналоговый преобразователь. В Arduino UNO такого нет. Даже если Вы каким-то образом заставите компилятор собрать исходники, то все равно работать как в уроке не будет.