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

Любая помощь будет высоко оценена

, 👍-1


1 ответ


0

Компилятор не знает тип 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.

,