Сравните новый образец с регистратором данных с высокой частотой дискретизации

Я использую sdFat-библиотеку, например,

Github: SdFat/SdFat/examples/AnalogBinLogger /

The program is working fine and every thing but the thing is, this high speed datalogger uses interrupts and timers to make the ADC work at a pre-determined sampling frequency and it DOES NOT use the normal analogRead ()

То, что я хочу, когда вход какого-либо аналогового вывода ниже приведенного значения, я хочу записать HIGH или LOW на некоторый цифровой контакт, мой вопрос в том, как я могу сравнить новый образец в примере аналогового bin logger, поскольку я просто хочу сравнить новый образец, как в:

if ( analogRead() < 256 ) {// do something}

зная, что в программе нет analogRead (), поскольку она использует таймеры и прерывания.

0

1 ответы

В функции

ISR(ADC_vect) {

переменная d содержит текущий образец:

 //Read ADC data.
#if RECORD_EIGHT_BITS
  uint8_t d = ADCH;
#else //RECORD_EIGHT_BITS
 //This will access ADCL first.
  uint16_t d = ADC;
#endif //RECORD_EIGHT_BITS

Таким образом, вы можете просто «сделать что-то» в зависимости от того, что находится в d . Конечно, поскольку это прерывание по таймеру, у вас есть ограниченное время, чтобы что-то сделать, поэтому вам нужно убедиться, что все, что вы делаете, быстро и эффективно - так что вы действительно хотите использовать прямой доступ к портам вместо digitalWrite ().

3
добавлено
@SabirMoglad Попробуйте найти adcindex .
добавлено автор Majenko, источник
это прекрасно, спасибо, но как узнать, какой аналоговый вывод принадлежит этому значению d, потому что используется более одного канала? @majenko
добавлено автор diegoaguilar, источник
Анархическая электроника
Анархическая электроника
1 510 участник(ов)

[около] электронные темы. без переходов на личности, стен стикеров, политики, непрошенной рекламы и всякого такого Основной чат у нас в @ru_electronics Общий информационный канал @ru_electronics_feed

Про электронику
Про электронику
1 461 участник(ов)

QA чат для решения вопросов, связанных с электроникой. без стикеров, непрошенной рекламы и игр в русский форум оформляйте вопрос в одно сообщение вопросы со словом «кто» игнорируются don't ask for ask Правила http://telegra.ph/ru-electronics-rulz-11-11

Embedded Group
Embedded Group
873 участник(ов)

Все про Embedded и электронику. Осторожно, бывают нотификейшены. #вопросподелу - Для поиска вопросов и ответов #devtools - фотки рабочих железок Работа: @rabotaembedded http://embedded.group http://vk.com/embedded_space

Hardware & Radio
Hardware & Radio
155 участник(ов)

Разговоры об электронике, микроконтроллерах, низкоуровневом программировании, реверс-инжиниринге, FPGA, квадрокоптерах, 3D-печати, Software Defined Radio, любительском радио, и всяком таком.

ARDUINO [RU]
ARDUINO [RU]
60 участник(ов)

Обсуждение Электронного конструктора Arduino. Проблемы и их решения. Ссылки на интересные статьи и проекты. ВК: https://vk.com/arduino_esp Realtek: http://vk.com/rtl8711 Чаты: IOT https://t.me/ProIOT esp8266 https://t.me/Proesp8266