В статье про цифровой потенциометр MCP41010 было показано как им управлять с помощью микроконтроллера CH32V003F4P6 Рассмотрим пример куда это можно встроить Будем управлять зарядкой TP4056 для литии-ионной батарейки Как мы знаем, чтобы изменять силу току на TP4056 нужно менять управляющий резистор. В зависимости от наминала меняется сила тока: Как раз наш случай. Заменим резистор на цифровой. Добавим кнопку для управления и лампочки для индикации выбранного режима. Схема получится следующая Для управления индикацией используем сдвиговый регистр 74HC595. Им управлять можно также через интерфейс SPI. Ножку CS подключаем к PC0 Код для MounRiver Studio берем из предыдущей статьи и в него добавляем В функцию SPI_Config(void) добавляет инициализацию PC0 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure); Добавляем функцию управления 74HC595 void L74HC595_Write(uint