На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
    > Arduino: время выполнения delay и delaymcs.
      Пусть есть 2 unsigned long: время до выполнения функции и после. Используется разница их значений после выполнения micros.

      Последовательный порт включать нельзя. Соответственно, использую GSM-модуль, чтобы в SMS получать значения микросекунд.

      Т.о. выяснилось, что выполнение unsigned long ulBegin = micros() - занимает 2мкс.

      Выполнение delay(0) - занимает 12мкс, вычет 4мкс - имеем 8мкс.

      А теперь баг: если вместо delay(0) написать delay(1) - смс не отправляется. Причины неясны - но суть не в этом: каким образом еще можно вывести на экран микросекунды - если все, что имею еще - TM1637 семисегментный индикатор, в котором нет функции "покажи число"?

      И есть ли какие-нибудь мануалы, описывающие время выполнения стандартных функций Arduino nano?
      Сообщение отредактировано: Сергей85 -
        delay и delayMicroseconds плавают микросекундными и миллисекундными погрешностями (если запустить Timer0 - это отчетливо видно, если выводить время их выполнения в ком-порт).

        Для точной задержки нужно свои часы реального времени делать на основе Timer2.

        https://bad-good.ru/2023/february/arduino-timer2.html
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0251 ]   [ 15 queries used ]   [ Generated: 24.09.23, 14:00 GMT ]