硬汉嵌入式论坛

 找回密码
 立即注册
查看: 164|回复: 1
收起左侧

[STM32H7] 关于串口驱动的问题

[复制链接]

6

主题

28

回帖

46

积分

新手上路

leduo

积分
46
发表于 2024-4-9 13:53:47 | 显示全部楼层 |阅读模式
[C] 纯文本查看 复制代码
static SemaphoreHandle_t g_UART2_TX_Semaphore;
static uint8_t g_uart2_rx_buf[100];
static QueueHandle_t g_xUART2_RX_Queue;

static SemaphoreHandle_t g_UART4_TX_Semaphore;
static uint8_t g_uart4_rx_buf[100];
static QueueHandle_t g_xUART4_RX_Queue;

void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
	if (huart == &huart2)
	{
		xSemaphoreGiveFromISR(g_UART2_TX_Semaphore, NULL);
	}
	if (huart == &huart4)
	{
		xSemaphoreGiveFromISR(g_UART4_TX_Semaphore, NULL);
	}
}



最近在参考代码学习rots,这个代码中,有一些回调函数和信号量和消息队列,如果我在bsp_uart_fifo中加入rtos中的消息队列和信号量,该怎么修改,还是说 只能按照官方给demo来做。尝试着改了几次,发现有点捋不清这里边的弯弯绕了。

最近在研究串口,cubemx生成的这个代码中有一堆的回调,如果我想在bsp_uart_fifo的驱动中,加入消息队列和 ...

最近在研究串口,cubemx生成的这个代码中有一堆的回调,如果我想在bsp_uart_fifo的驱动中,加入消息队列和 ...
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106739
QQ
发表于 2024-4-9 15:02:07 | 显示全部楼层
我们程序这里是直接在中断里面将数据存储到FIFO里面。

如果你用了RTOS的话,可以将我们这里存到FIFO里面的操作改成使用消息队列发送处理即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 12:27 , Processed in 0.159372 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表