uart/hardware0.hpp

39 lines
652 B
C++

#pragma once
#include "config.hpp"
namespace uart {
enum class Mode {
ASYNCHRONOUS,
ASYNCHRONOUS_2X,
SYNCHRONOUS_MASTER,
SYNCHRONOUS_SLAVE,
SPI,
};
template <Mode mode, class config>
class hardware0 {
public:
using data_t = typename config::data_t;
static constexpr auto DATA_BITS = config::DATA_BITS;
static void init() {}
static void txByte(data_t byte)
{
static_cast<void>(byte);
}
static data_t rxByte() {}
static data_t peek() {}
private:
static constexpr auto BAUD_RATE = config::BAUD_RATE;
static constexpr auto PARITY = config::PARITY;
static constexpr auto STOP_BITS = config::STOP_BITS;
};
} // namespace uart