1 信号量
结合之前我们学过的空闲中断加上DMA
void usart1_recv_thread_entry(void *parameter)
{
rt_err_t uwRet = RT_EOK;
while(1)
{
uwRet =rt_sem_take(usart1_recv_sem, RT_WAITING_FOREVER)
该博客介绍了如何结合信号量和DMA在嵌入式系统中处理串口1的数据接收。通过创建一个线程`usart1_recv_thread_entry`监听串口2的接收信号量,当数据接收完成后,线程会接收到信号并处理数据。同时,`hal_uart_recv_judge`函数负责判断、打印接收数据,并在完成后释放信号量,清空接收缓冲区和标志位,确保系统能持续接收新的数据。
1 信号量
结合之前我们学过的空闲中断加上DMA
void usart1_recv_thread_entry(void *parameter)
{
rt_err_t uwRet = RT_EOK;
while(1)
{
uwRet =rt_sem_take(usart1_recv_sem, RT_WAITING_FOREVER)
610
1770
3911

被折叠的 条评论
为什么被折叠?