Оказывается обычный модуль LED A/V-метра можно перепрошить. Метод подсмотрен на одном буржуфоруме и перенесён сюда. Был куплен светодиодный измеритель тока и напряжения из Китая. Его данные — 4 бита, 0-100 В, 0-10 А. Согласно описанию, он должен был обновлять значения с частотой 3 раза в секунду. Оказалось иначе, он давал обновление раз в секунду, что было неприемлемо для использования. Сам индикатор построен на процессоре HC32F003. На китайских сайтах удалось найти полную документацию, SDK и утилиты для этого процессора. Решено было поработать с ним.
Схема подключения V/A-метра
Попытка подключения с использованием разъема SWD не удалась. Это должно было быть сделано с использованием последовательного порта. Вроде работало, но флеш память не могла быть прочитана — она оказалась защищена. Осталось одно — стереть её и написать программу с самого начала, что и сделал. Заодно изменил схему, чтобы измерять 0-30 В.
Правда специальная программа не обнаружила процессор ни на одном USB-адаптере — пробовал на PL2303 и CH340. Программа FlyMcu обнаружила схему на PL2303, но не использовала ее для удаления. В конечном итоге удалил флэш-память на компьютере с Linux, используя программу Python. Теперь был полный доступ к процессору. Запрограммировал и отладил его через уже активный порт SWD, используя J-Link (как сделать адаптер Blue Pill J-Link можно найти в сети).
В результате получился ампервольтметр, который очень быстро выдает значения и делает это более точно, чем в оригинальном программном обеспечении. Частоту измерения можно изменить, сменив байт в файле flash.bin со смещением 0xbee (в диапазоне 1-255). Все файлы скачайте в этом архиве.








