pulseIn(pin, HIGH)
Добавлено: 05 мар 2020, 11:50
Всем привет, такой вопрос:
Пользуюсь пользовательским блоком считывания длинны сигнала RC приемника (RC_PWM) - в нем встроена функция pulseIn.
Работает все хорошо, пока провод от приемника подключен ко входу и идет передача сигнала. Но сейчас у меня появилась необходимость разрывать связь по двум из 4 каналов, программа при этом должна продолжать работать.
Но тут и наступает проблема - при использовании pulseIn если на входе ничего не подключено, контроллер начинает почему то работать с огромной задержкой. Например: отключаю 2 из 4 каналов физически(просто вытаскиваю провода из контроллера), два других вставлены, нажимаю запустить мотор - включается только секунды через 2, отпускаю - так же задержка секунды 2 - отключился. Вставляю провода обратно - задержка пропадает.
Решил посмотреть через монитор порта: при подключенном проводе показания передаются быстро, отключаю провод - в мониторе отображается 0 и обновление замедляется с периодичностью секунда или две.
Что можно придумать?
Пользуюсь пользовательским блоком считывания длинны сигнала RC приемника (RC_PWM) - в нем встроена функция pulseIn.
Работает все хорошо, пока провод от приемника подключен ко входу и идет передача сигнала. Но сейчас у меня появилась необходимость разрывать связь по двум из 4 каналов, программа при этом должна продолжать работать.
Но тут и наступает проблема - при использовании pulseIn если на входе ничего не подключено, контроллер начинает почему то работать с огромной задержкой. Например: отключаю 2 из 4 каналов физически(просто вытаскиваю провода из контроллера), два других вставлены, нажимаю запустить мотор - включается только секунды через 2, отпускаю - так же задержка секунды 2 - отключился. Вставляю провода обратно - задержка пропадает.
Решил посмотреть через монитор порта: при подключенном проводе показания передаются быстро, отключаю провод - в мониторе отображается 0 и обновление замедляется с периодичностью секунда или две.
Что можно придумать?