首页 > 其他分享 >HAL_UART_RxCpltCallback与HAL_UARTEx_RxEventCallback使用场景

HAL_UART_RxCpltCallback与HAL_UARTEx_RxEventCallback使用场景

时间:2024-11-05 14:46:51浏览次数:3  
标签:DMA 回调 HAL UART RxEventCallback 接收 UARTEx

1.HAL_UART_RxCpltCallback()
是在接收到启动时设置的字节数(启动接收时需要设置接收数据长度)后的回调。适用于标准的接收模式,比如使用 HAL_UART_Receive_IT 或 HAL_UART_Receive_DMA 启动的接收。
在处理完接收数据后,还需要重新启动接收(要在回调函数中调用HAL_UART_Receive_IT或HAL_UART_Receive_DMA)。
比如,回调函数中将接收数据处理完后,再调用HAL_UART_Receive_IT(&huart3, RxBuf, 10)再次启动接收10字节。
当需要接收的数据长度是确定的情况下,使用这个回调。

2.HAL_UARTEx_RxEventCallback()
其实就是接收空闲回调函数。当接收到预先设置好的字节数或者接收空闲(IDLE中断)时会回调这个函数。
这个回调函数是在使用HAL_UARTEx_ReceiveToIdle_IT或HAL_UARTEx_ReceiveToIdle_DMA开启接收时被回调。
适用于接收具有“空闲”检测的场景,当接收的字节数等于设置的接收长度或产生空闲中断时被回调。
在处理完接收数据后,也需要重新开启接收(要在回调函数中重新调用HAL_UARTEx_ReceiveToIdle_IT或HAL_UARTEx_ReceiveToIdle_DMA函数)。
比如,回调函数中将接收数据处理完后,再调用HAL_UARTEx_ReceiveToIdle_DMA(&huart3, RxBuf, 10)再次启动接收10字节。
当要接收发数据长度是变化的情况下,使用这个回调。

标签:DMA,回调,HAL,UART,RxEventCallback,接收,UARTEx
From: https://www.cnblogs.com/bloker/p/18527935

相关文章

  • .net core 使用定时任务 quartz.net 实例
    项目是core3.1的 只用引用一个包就可以了引用配置Quartz首先创建一个任务工厂publicclassCronJobFactory:IJobFactory{privatereadonlyIServiceProvider_serviceProvider;publicCronJobFactory(IServiceProviderserviceProvider){_ser......
  • STM32(hal库)为什么中断服务函数里TIM2_IRQHandler(void)调用 HAL_TIM_IRQHandler(&time
    STM32(hal库)为什么中断服务函数里TIM2_IRQHandler(void)调用HAL_TIM_IRQHandler(&timer_handle);而不是TIM2_IRQHandler(void)里直接写需要的程序呢?而标准库只需要在TIM2_IRQHandle里写中断需要的代码即可?        在STM32HAL库中,中断服务函数(ISR)的设计思路与标准......
  • 学习记录:STM32G431CBU6的多通道ADC采样串口打印(HAL库)
    一配置  二代码uint16_tGet_adc(){//启动ADC1HAL_ADC_Start(&hadc1);//等待ADC转换完成,超时为100msHAL_ADC_PollForConversion(&hadc1,100);//判断ADC是否转换成功if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1),HAL_ADC_STATE_REG_EOC)......
  • 转存——Quartus II FPGA程序仿真运行时出现错误“error occurred during modelsim si
    起因使用QuartusII软件进行FPGA程序仿真,运行时出现错误“erroroccurredduringmodelsimsimulation”,上网查询解决方法,找了很久都没找到,最后在一个CSDN博客的评论里找到解决方法。现将解决方法转存如下。错误示例解决步骤1.依次点击simulation,option2.依次点击Quartus......
  • Halcon区域分割之分水岭分割法
        现实中我们见到过有山有湖的景象,那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔,就是分水岭。    分水岭分割法是一种基于拓扑理论的数学形态学的分割方法,其基本思......
  • [Joe3] 利用Halo后台注入功能定制Joe3主题页脚内容
    1.前言如果你正使用Halo博客系统并选择了Joe3主题,你会发现其主题页脚设计非常丰富,也非常美观,可能也是我们选择Joe3的原因吧。但是每个人实际的需求是不同的,默认模板肯定不能都满足,你肯定也希望在页脚部分能有更多的自定义内容。相较于传统方法——直接在模板文件中修改这些信......
  • Halcon 一维卡尺测量找点之模糊集测量法
        模糊测量是对标准测量的一种扩展,并不意味着测量是“模糊的”,而是用模糊隶属函数来控制边缘的选择。所谓的模糊隶属函数,就是将边缘的特征值转换为隶属度值,基于这些隶属值做出是否选择边缘的决定,即当隶属值大于你设定模糊阈值时,边缘就会被选中,反之则反。这种方法的优......
  • halo配置踩坑过程小记
    写在最前:​ 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了。。整理一下思路,记录一下配置过程走过的坑。​ 我是从hexo用了半年想折腾点新玩意儿的,其实hexo配置自动化部署之后也挺方便的,反正都是本地编辑写作,后台啥......
  • 基于Datawhale开源量化投资学习指南(11):LightGBM在量化选股中的优化与实战
    1.概述        在前几篇文章中,我们初步探讨了如何通过LightGBM模型进行量化选股,并进行了一些简单的特征工程和模型训练。在这一篇文章中,我们将进一步深入,通过优化超参数和实现交叉验证来提高模型的效果,并最终通过回测分析来验证我们所选股票的表现。2.LightGBM超......
  • 论文阅读Nature:Detecting hallucinations in large language models using semantic e
    论文阅读-Nature:Detectinghallucinationsinlargelanguagemodelsusingsemanticentropy(使用语义熵来检测大模型中的幻觉)作者:SebastianFarquhar,JannikKossen,LorenzKuhn&YarinGal单位:牛津大学,计算机科学学院,OATML实验室期刊:Nature时间线:2023年7月提交→......