Arduino Zero Проблемы компиляции для «Test-AnalogReadFast-SAM»
#include <Streaming.h>
#include "StopWatch.h"
#include <Albert.h>
#include "avdweb_AnalogReadFast.h"
const byte adcPin = A1;
void setup(void)
{ Serial.begin(9600);
while(!Serial);
Serial << "\nanalogRead_10bit us1 analogRead_12bit us2 analogReadFast_10bit us3 analogReadFast_12bit us4";
for(int i=0; i<10; i++) testAnalogRead();
}
void testAnalogRead()
{ static Stopwatch Stopwatch(micros);
//задержка(1000);
stopwatch.start();
int adc1 = analogRead(adcPin); // разрешение по умолчанию 10 бит 425 мкс на SAMD21
stopwatch.stop(); int t1 = stopwatch.interval;
analogReadResolution(12);
stopwatch.start();
int adc2 = analogRead(adcPin); // 425us на SAMD21
stopwatch.stop(); int t2 = stopwatch.interval;
analogReadResolution(10);
stopwatch.start();
int adc3 = analogReadFast(adcPin); // 23us на SAMD21
stopwatch.stop(); int t3 = stopwatch.interval;
analogReadResolution(12);
stopwatch.start();
int adc4 = analogReadFast(adcPin); // 24us на SAMD21
stopwatch.stop(); int t4 = stopwatch.interval;
Serial << endl << adc1, t1, adc2, t2, adc3, t3, adc4, t4;
analogReadResolution(10); // восстановить значения по умолчанию
}
void loop(void)
{
}
Привет, мне нужно запустить этот код в Arduino Zero. Когда я пытаюсь скомпилировать этот код, он выдает следующую ошибку:
Ошибка:
In file included from /Users/RAJU/Documents/Arduino/Test_AnalogReadFast_SAM/Test_AnalogReadFast_SAM.ino:2:0:
/Users/RAJU/Documents/Arduino/libraries/Streaming/Streaming.h:102:15: warning: unused parameter 'arg' [-Wunused-parameter]
inline Print &operator <<(Print &obj, _EndLineCode arg)
^
/Users/RAJU/Documents/Arduino/Test_AnalogReadFast_SAM/Test_AnalogReadFast_SAM.ino: In function 'void testAnalogRead()':
Test_AnalogReadFast_SAM:17: error: 'Stopwatch' does not name a type
{ static Stopwatch Stopwatch(micros);
^
Test_AnalogReadFast_SAM:20: error: 'stopwatch' was not declared in this scope
stopwatch.start();
^
exit status 1
'Stopwatch' does not name a type
Любая помощь будет высоко оценена
@Raju KC, 👍-1
1 ответ
Компилятор не знает тип Stopwatch
. У вас опечатка. Беглый взгляд на заголовочный файл (StopWatch.h
) показывает, что это StopWatch
, а не Stopwatch
. Вам нужна большая W там.
В следующий раз сначала попробуйте разобраться сами. Очевидно, вы ничего не сделали, прежде чем спросить здесь. В следующий раз попробуйте, а затем, если не сможете найти проблему, напишите в своем вопросе, что вы пробовали.
Мне удалось скомпилировать следующую программу в моей среде разработки Arduino IDE для Arduino/Genuino Zero:
#include "StopWatch.h"
void setup() {
static StopWatch Stopwatch(StopWatch::MICROS);
}
void loop() {
}
Библиотека StopWatch
взята с этой страницы Github. Это та же самая библиотека, которую вы связали в своем другом языке с тем же кодом, поэтому я предполагаю, что вы ее используете.
Для будущих вопросов: лучше напрямую предоставлять ссылки на все используемые библиотеки, которые не являются частью Arduino IDE.
- Arduino zero Error: не удается найти устройство CMSIS-DAP
- Правильная схема карты Micro SD
- Высокочастотный PWM на Adafruit Feather M0
- Проблема Arduino MKR Zero с новой связью UART
- Arduino Zero - управление шаговым двигателем (прерывание)?
- Arduino Zero (ATSAMD21G) - I2C - непрерывный поток неверных данных
- Конфигурация Arduino Zero для Arduino Zero SPI
- Audio Zero не отвечает на MKR Zero