/
bortsov
/
ch32v203-BatteryDisplay
Обзор
Документация
Войти
/
bortsov
/
ch32v203-BatteryDisplay
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
source/UsartImplementation.cpp
38 строк
1 KB
Vitaliy Bortsov
cleanup: remove printf
16 мар 2026, 21:10
16 мар 2026, 21:10
d2003f3
Код
Авторство
О чём код?
#include "UsartInterface.h" #include "bsp/CH32V203F6P6_usart.h" #include "bsp/CH32V203F6P6_rcc.h" #include "bsp/CH32V203F6P6_gpio.h" class UsartImplementation : public CommunicationBase { public: UsartImplementation() { rcc::enableClock(PeripheralId::GPIOA); gpio::init(Gpio::GPIOA, 2, GpioMode::ALT_PUSHPULL, GpioSpeed::SPEED_2Mhz); usart::init(ID_, BAUDRATE_); usart::enable(ID_); } virtual bool isNewChar() override {return usart::isNewChar(ID_);} virtual void putChar(const char ch) override {usart::txChar(ID_, ch);} virtual void putArray(const char* str, const unsigned int len) override {for (unsigned int i = 0; i < len; ++i) putChar(str[i]);} virtual char getChar() override {return usart::getRxChar(ID_);} virtual void process() override {} virtual void sync() override {} virtual ~UsartImplementation() = default; private: static constexpr uint32_t BAUDRATE_{9'600UL}; static constexpr enum Usart ID_ {Usart::USART2}; }; std::unique_ptr<CommunicationBase> usart::create() { return std::make_unique<UsartImplementation>(); }