usart与dma接收定长数据与空闲中断

Usart

1. 为什么没有使用 HAL_UART_Receive_DMA?

HAL_UART_Receive_DMA 是 HAL 库中用于通过 DMA 接收数据的基础函数。但是它有以下局限性:

        回调函数:void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)

  1. 固定数据长度:

    • HAL_UART_Receive_DMA 接收时需要提前知道数据的长度(Size 参数)。
    • 如果接收的数据长度不固定(例如,串口接收到的数据包长度不一致),就需要额外的逻辑来处理数据长度,这会增加代码复杂性。
  2. 无法处理空闲中断:

    • 在 UART 通信中,数据传输完成后通常会有一段空闲时间(即串口不再接收数据),这被称为“空闲中断”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值