На практике: С момента нажатия кнопки
в меню, ну или отправки в mqtt команды проходит много меньше секунды до начала воспроизведения записанной ИК-команды.
Просто потому что все coil мы не пишем. Потребовалось записать - записали.
Реально каждый раз гонять все команды? То есть писать туда нули, поверх нулей? Но зачем? Это просто пустой трафик! То есть 80*(8+6) байт, плюс стоп-биты Это просто нагрев воздуха и занятие шины. Ну нелогично же. Не надо так.
Есть хорошая статья на хабре. Именно про скорость. Нельзя пытаться передать по шине больше чем она способна пропустить. Какое бы устройство не было. 9600 - это меньше 1200 байт/сек.
Если уж с одним устройством при холостой записи удалось занять всю ширину канала.
Но чтение температуры-влажности раз (и даже 5 раз) в секунду успешно работает. Проверил. Потому что запрос регистра (одного) занимает разумное время. Мне нужен один (два, три, пять) регистр - я их запрашиваю.
Опять же с точки зрения практики: ну нету потребности знать температуру даже раз в секунду.
Реально у нас работает на 10 мсек
В том-то и дело что если НЕ надо передавать команду, то и записывать “0” не нужно.
Это как (аналогия)
- Петров!
- Я!
- Не нужен, свободен.
- Сидоров!
- Я!
- Не нужен, свободен.
- Васечкин, включи команду!
- Есть!
- Баранкин!
- Я!
- Не нужен, свободен.