22 lines
646 B
C++
22 lines
646 B
C++
#ifndef USART_H
|
|
#define USART_H
|
|
#include "fifo.h"
|
|
#include "baselayer.h"
|
|
#include "ctrlinterface.h"
|
|
/** @class Usart
|
|
* @brief Sériový port.
|
|
*
|
|
*/
|
|
class Usart : public BaseLayer, public CDC_CtrlInterface {
|
|
FIFO<char, 64> tx_ring;
|
|
public:
|
|
explicit Usart (const uint32_t baud = 9600) noexcept;
|
|
uint32_t Down (const char * data, const uint32_t len) override;
|
|
void SetBaud (const uint32_t baud) const;
|
|
// Obsluha přerušení musí být veřejná.
|
|
void irq (void);
|
|
// Přetížení pro CDC.
|
|
bool IOCtrl (const CTRL_TYPES_DEF type, const void * data, const uint32_t len) override;
|
|
};
|
|
|
|
#endif // USART_H
|