#ifndef USART_H #define USART_H #include "fifo.h" #include "baselayer.h" #include "ctrlinterface.h" /** @class Usart * @brief Sériový port. * * Zde RS485, vstup i výstup. * Při vysílání je zakázán příjem a to jak v software, tak v hardware. * Tady u toho typu je pin řízení směru přenosu dělán čistě softwarově, * překrytí je minimální, zdá se že to nevadí. */ class Usart : public BaseLayer, public CDC_CtrlInterface { FIFO tx_ring; public: explicit Usart (const uint32_t baud = 9600) noexcept; void setBaud (const uint32_t baud); uint32_t Down (const char * data, const uint32_t len) override; bool IOCtrl (const CTRL_TYPES_DEF type, const void * data, const uint32_t len) override; void irq (void); }; #endif // USART_H