Программирование

Вопросы по программированию Arduino.

Такое прерывание можно еще оптимизировать?

Добрый день.

Есть желание сделать прерывание по возможности оптимальнее по времени выполнения.

Оно крутит шаговый двигатель и считает шаги, которые использует осн тело программы.

#define MainStStep 8

ISR(TIMER1_B) {
  s1 = not(s1);
  bitWrite(PORTB, MainStStep-8, s1);
  Steps++;
}

 

Область видимости класса?

Добрый день! В проекте столкнулся с ошибками на этапе компиляции, в приведенном ниже коде сообщение об ошибке в процедуре PrintAt() "'Font' was not declared in this scope". Если класс вызывать напрямую в функции, без передачи в параметрах, то все работает, но мне как раз и нужно передать имя класса в процедуру PrintAt(). enum кидал в отдельный заголовок, не помогает. Ради интереса эту же ситуацию прогонял в Microsoft Visual Studio обыкновенным компилятором C++, все работает идеально.

Перевод уровня сигнала в дБ на плате Trema-модуль v2.0 (датчик звука)

Добрый день, есть датчик звука. Он позволяет получить аналоговое значение, соответствующее уровню громкости звука. Как получить уровень в дБ? Заранее благодарю. 

и снова преславутая Тинька85...

Друзья, дело вот в чем: В Arduino IDE есть несколько ядер для поддержки камней ATTiny: ATTinyCore (optiboot,digispark, nobootloader...), DigistampAVRBoard, DIY ATTiny и ATTiny microcontrollers. 

Для прошивки Digispark'а я использую ядро DigistampAVRBoard, для работы с голым камнем ATTinyCore optiboot в котором в меню настройки есть пункт Timer 1 Clock и выбор коэффициента деления, где по умолчанию коэффициент деления равен частоте ядра (т.е. 1).

Не могу запустить реле

Добрый день! помогите найти ошибку, реле срабатывает в какой то своей логике, а не по изменению влажности

 
 
https://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
 
 
 
 

Хочу больше почитать про программирование регистров ардуино, esp32-где можно покопать?

Всем привет! Решил я так сказать, влезть в тему "глубжее. ещё глубжее" :-)

Ардуино, esp32 - прогал и прогаю. 

Но вот есть желание начать непосредственно прогать регистры. Была даже мысль мысль - разбирать чужие библиотеки и докапываться до того, где они влияют на регистры. Но это дурная затея: инфа будет слишком разрозненной+не все библиотеки так глубоко работают(многие сами - просто надстройки над другими библиотеками).

HTU31 - 2 шт через TCA95548A на ESP8266

Всем, доброго дня!

Помогите разобраться, есть ESP8266  к ней прикручен TCA95548A, чтобы подключить два новых датчика температуры и влажности HTU31. Нигде особо примеров нет, как их встраивать и использовать. Для них написана библиотека Adafruit_HTU31D. С одним датчиком подключенным напрямую к плате всё работало, но мне то нужно подключить два.

Код который написан выдает:

Размерность массива в зависимости от количества директив

Всем добра!

Подскажите пожалуйста прием для задания размера массива в зависимости от количества констант. Знаю про #ifdef, но не одуплюсь как с его помощью посчитать константы.

Сейчас делаю вот так:

#define pin_dimmer_0 10
#define pin_dimmer_1 11

byte pin_dimmer[2] = {pin_dimmer_0, pin_dimmer_1};
byte dimmer_level[2] = {}; 
byte dimmer_variable[2] = {}; 

но хотелось бы не менять код каждый раз при изменении количества диммируемых выходов.

Спасибо!

OWSlave на прерывании.

Всем здасьте!

объясните что не так с кодом (в симуляторе работает идеально):

соединить два скетча

здравствуйте. я только учусь сильно не пинайте) делаю телескоп на ардуино с управлением через ascom PHD2 , есть два скетча - один рабочий (не мой) сейчас залит на UNO  работает вручную на телескопе от джойстика. Второй код задает управление моторчиками через порт, проблема в следущем : первый скетч написан на accelstepper библиотеке со своими командами а второй предлагает управлять через выходами через HI LOW , я думаю надо