halx
読み取り中…
検索中…
一致する文字列を見つけられません
halx::peripheral::UartBase クラスabstract

#include <common.hpp>

公開メンバ関数

virtual ~UartBase ()
 
virtual bool transmit (const uint8_t *data, size_t size, uint32_t timeout)=0
 
virtual bool receive (uint8_t *data, size_t size, uint32_t timeout)=0
 
virtual void flush ()=0
 
virtual size_t available () const =0
 

詳解

デフォルトでTx, Rxともに割り込みを使用します。

#include <cstdio>
#include <halx/core.hpp>
extern UART_HandleTypeDef huart2;
extern "C" void main_thread(void *) {
using namespace halx::core;
using namespace halx::peripheral;
Uart<&huart2> uart2;
enable_stdout(uart2);
while (true) {
// 7バイト送信
uint8_t data[] = {'h', 'e', 'l', 'l', 'o', '\r', '\n'};
uart2.transmit(data, sizeof(data), MAX_DELAY);
// 1バイト受信
char c;
if (uart2.receive((uint8_t *)&c, 1, MAX_DELAY)) {
printf("入力した文字: %c\r\n", c);
}
delay(10);
}
}
Definition common.hpp:11
constexpr uint32_t MAX_DELAY
Definition common.hpp:16
void delay(uint32_t tick)
Definition common.hpp:27
Definition can.hpp:13
bool enable_stdout(UartBase &uart)

構築子と解体子

◆ ~UartBase()

virtual halx::peripheral::UartBase::~UartBase ( )
inlinevirtual

関数詳解

◆ available()

virtual size_t halx::peripheral::UartBase::available ( ) const
pure virtual

◆ flush()

virtual void halx::peripheral::UartBase::flush ( )
pure virtual

◆ receive()

virtual bool halx::peripheral::UartBase::receive ( uint8_t * data,
size_t size,
uint32_t timeout )
pure virtual

◆ transmit()

virtual bool halx::peripheral::UartBase::transmit ( const uint8_t * data,
size_t size,
uint32_t timeout )
pure virtual

このクラス詳解は次のファイルから抽出されました: