В своем устройстве использую микросхему заряда аккумулятора TP4056. Появилась необходимость отследить состояние зарядки, то есть аккумулятор зарядился (горит синий светодиод) или еще заряжается (красный светодиод). Полез в даташит на TP4056: "When the battery Charge Termination, the...pin is pulled low by an internal switch, otherwise pin is in high impedance state."
В общем, при активации, пин, к которому подключен светодиод, подтягивается к земле (светодиод подключен к + питания). При отключении, контакт оказывается в подвешенном состоянии. Получается можно отследить только состояние включения. Чтобы отследить выключенное состояние, я вместо светодиодов поставил резисторы на 10к, которые подтягивают к +3.3 (напряжение питания STM32). Таким образом, в теории, можно отследить состояние включения / отключения пинов, и тем самым определить режим: зарядка, или режим ожидания.
Схема подключения у меня выглядит так:
На пин CE подается +3.3 для активации.
VCC: +3.3 вольт.
9-й пин - корус.
Вроде все правильно подключено и должно работать. НО!... Не изменяется состояние пинов управляющих светодиодами. 6-й пин всегда в подвешенном состоянии, а на 7-м напряжение близкое к нулю: 0.1 - 0.3 вольт.
В то же время, если взять обычную платку PT4056 и поставить резисторы вместо светодиодов, то все работает отлично.
Вот ссылка на весь проект: https://easyeda.com/igor.silenock/li-ion-batterycharger
Может у меня просто глаза замылились, и я не вижу элементарной ошибки...

