为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > stm32hal库uart中断接收修改步骤(适合GPS数据处理)

stm32hal库uart中断接收修改步骤(适合GPS数据处理)

2021-08-10 1页 doc 137KB 91阅读

用户头像

is_511210

暂无简介

举报
stm32hal库uart中断接收修改步骤(适合GPS数据处理)stm32hal库uart中断接收修改步骤(适合GPS数据处理)实际使用中gsp数据解析是单个字符操作,串口接收中断需要一直打开,而hal库的中断接收配置(指定接收长度,和接收数据区域,数据区域满,会关闭接收中断,触发接收回调函数,需要人工再次打开接收中断(HAL_UART_Receive_IT函数)),而处理gps数据无法事先确定接收的长度,因此这种使用方式不合适。因此有如下文处理办法(串口数据发送我用的是普通发送(非中断,非DMA));定义全局的接收缓存区,数据区域满,自动复写而不停止接收中断。1.定义全局空间存储串口中断...
stm32hal库uart中断接收修改步骤(适合GPS数据处理)
stm32hal库uart中断接收修改步骤(适合GPS数据处理)实际使用中gsp数据解析是单个字符操作,串口接收中断需要一直打开,而hal库的中断接收配置(指定接收长度,和接收数据区域,数据区域满,会关闭接收中断,触发接收回调函数,需要人工再次打开接收中断(HAL_UART_Receive_IT函数)),而处理gps数据无法事先确定接收的长度,因此这种使用方式不合适。因此有如下文处理办法(串口数据发送我用的是普通发送(非中断,非DMA));定义全局的接收缓存区,数据区域满,自动复写而不停止接收中断。1.定义全局空间存储串口中断接收的数据(建议配置一个结构体,有读写指针,我的操作如“段二”)2.串口中断功能已经打开3.初始化调用一次HAL_UART_Receive_IT函数(打开接收中断);4.在如下图一函数中修改为如图二;图一图二段二:缓存区写指针指向的缓存区内的位置=DEBUGPORTRECVBUFFLEN-*sDebugPortData.uspWriteCount;写已经做好了(在中断中进行),下面是关于读的:如下是在主循环中查询缓存区是否有数据,和一个字节一个字节读取数据;
/
本文档为【stm32hal库uart中断接收修改步骤(适合GPS数据处理)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索