По первому вопросу и не нужно гадать, ведь вопрос в том - учитывает ли Ваш алгоритм физику-гномика газоразрядной трубки) На сколько я понял сейчас на "RAW" ловятся абсолютно все импульсы, получаемые с вывода INT. Если реализовать блокирование инкремента вашего счетчика в течении мертвого времени после каждого импульса, и показания со встроенным счетчиком начнут совпадать, то это будет показатель верности предположения. Ну и в целом такое измерение будет правильным.
Простым пользователям (не специалистам) для решения задачи "подать питание и получать с него данные" все же эффективнее всего ничего не переизобретать, и пользоваться алгоритмами, изначально заложенными в устройство. Бороться лучше с исходной проблемой нестабильного I2C в режиме ведомого (кстати общая болячка для stm32f0-f1 в целом) и судя по телеграмму CG обход аппаратных проблем оказался не самой простой задачей.
Если рассматривать вопрос: «а какой счётчик более корректный?», — я склонен отдать пальму первенства именно RAW счётчику: судя по всему «официальный» алгоритм в STM32 «глотает» (не успевает реагировать на) некоторые импульсы при их частом следовании.
Вопрос - учитывает ли ваш алгоритм подсчета по "RAW" счетчику мертвое время СБМ-20, необходимое на восстановление трубки, во время которого могут пролетать ложные импульсы? Здесь https://habr.com/ru/articles/732456/ про это описано чуть подробнее. Судя по тому, что встроенный в STM32 алгоритм глотает только близкие по срабатыванию импульсы (видимо с периодом < 10 мкс), разработчики этот момент предусмотрели. Думаю использовать стоит именно встроенный алгоритм, или же улучшать собственный, глубже изучив особенности работы с газоразрядными счетчиками.
По поводу сброса значений и зависаний - по сугубо личному опыту 80% проблем обычно связано с качеством питания, и если у многих пользователей проблем с датчиком не возникает, то стоит посмотреть в эту сторону.
Судя по ответам автора статьи на мой комментарий https://habr.com/ru/companies/timeweb/articles/764646/#comment_26078358 вероятнее всего сам автор допускает некоторые ошибки при использовании этого устройства.
По первому вопросу и не нужно гадать, ведь вопрос в том - учитывает ли Ваш алгоритм физику-гномика газоразрядной трубки) На сколько я понял сейчас на "RAW" ловятся абсолютно все импульсы, получаемые с вывода INT. Если реализовать блокирование инкремента вашего счетчика в течении мертвого времени после каждого импульса, и показания со встроенным счетчиком начнут совпадать, то это будет показатель верности предположения. Ну и в целом такое измерение будет правильным.
Простым пользователям (не специалистам) для решения задачи "подать питание и получать с него данные" все же эффективнее всего ничего не переизобретать, и пользоваться алгоритмами, изначально заложенными в устройство. Бороться лучше с исходной проблемой нестабильного I2C в режиме ведомого (кстати общая болячка для stm32f0-f1 в целом) и судя по телеграмму CG обход аппаратных проблем оказался не самой простой задачей.
Вопрос - учитывает ли ваш алгоритм подсчета по "RAW" счетчику мертвое время СБМ-20, необходимое на восстановление трубки, во время которого могут пролетать ложные импульсы? Здесь https://habr.com/ru/articles/732456/ про это описано чуть подробнее. Судя по тому, что встроенный в STM32 алгоритм глотает только близкие по срабатыванию импульсы (видимо с периодом < 10 мкс), разработчики этот момент предусмотрели. Думаю использовать стоит именно встроенный алгоритм, или же улучшать собственный, глубже изучив особенности работы с газоразрядными счетчиками.
По поводу сброса значений и зависаний - по сугубо личному опыту 80% проблем обычно связано с качеством питания, и если у многих пользователей проблем с датчиком не возникает, то стоит посмотреть в эту сторону.