UARTクラスを使う際は、USARTx global interrupt
を有効化する必要があります。
#include "main.h"
#include <cstdio>
#include "cmsis_os2.h"
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
void example_thread(void *) {
while (true) {
uint8_t data[] = {'h', 'e', 'l', 'l', 'o'};
if (uart1.
transmit(data,
sizeof(data))) {
printf("送信成功\r\n");
}
if (uart1.
receive(data,
sizeof(data), 10)) {
printf("受信成功\r\n");
}
osDelay(1000);
}
}
bool transmit(const uint8_t *data, size_t size)
bool init(UART_HandleTypeDef *huart, size_t rx_queue_size=64)
bool receive(uint8_t *data, size_t size, uint32_t timeout)