在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 真正实现了STM32 HAL串口不定长数据的接收发送功能(DMA方式,不用限定单次接收长度和添加结束标志)

真正实现了STM32 HAL串口不定长数据的接收发送功能(DMA方式,不用限定单次接收长度和添加结束标志)

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.37M
  • 下载次数:32
  • 浏览次数:153
  • 发布时间:2020-10-27
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
网上使用HAL串口时很多都没有实现不定长数据的接收,要么是限定数据长度,要么是加“0x0a 0x0d”来控制接收完成,找了很久都没有真正找到一个能用的,在很多通信中不可能是定义的,或是加上“0x0a 0x0d”来实现的,由于项目需要,自己阅读STM32 HAL的文档,写出了一个Demo程序,可以实现回显功能(就是通过给STM32发送不定长的数据,可以实现一模一样接收发送的数据),在STM32F429IGT6上验证过,跑了一天没有出现丢失数据的问题,使用DMA发送与接收方式,可以释放CPU部分运算资源,程序中的UART_RX_BUF_SIZE定义为128,就是一次最大接收为128,我在项目中通过
【实例截图】
【核心代码】
usart-2019-6-8
└── usart
├── Drivers
│   ├── CMSIS
│   │   ├── Device
│   │   │   └── ST
│   │   │   └── STM32F4xx
│   │   │   ├── Include
│   │   │   │   ├── stm32f401xc.h
│   │   │   │   ├── stm32f401xe.h
│   │   │   │   ├── stm32f405xx.h
│   │   │   │   ├── stm32f407xx.h
│   │   │   │   ├── stm32f410cx.h
│   │   │   │   ├── stm32f410rx.h
│   │   │   │   ├── stm32f410tx.h
│   │   │   │   ├── stm32f411xe.h
│   │   │   │   ├── stm32f415xx.h
│   │   │   │   ├── stm32f417xx.h
│   │   │   │   ├── stm32f427xx.h
│   │   │   │   ├── stm32f429xx.h
│   │   │   │   ├── stm32f437xx.h
│   │   │   │   ├── stm32f439xx.h
│   │   │   │   ├── stm32f446xx.h
│   │   │   │   ├── stm32f469xx.h
│   │   │   │   ├── stm32f479xx.h
│   │   │   │   ├── stm32f4xx.h
│   │   │   │   └── system_stm32f4xx.h
│   │   │   └── Source
│   │   │   └── Templates
│   │   │   ├── arm
│   │   │   │   └── startup_stm32f429xx.s
│   │   │   └── system_stm32f4xx.c
│   │   └── Include
│   │   ├── arm_common_tables.h
│   │   ├── arm_const_structs.h
│   │   ├── arm_math.h
│   │   ├── cmsis_armcc.h
│   │   ├── cmsis_armcc_V6.h
│   │   ├── cmsis_gcc.h
│   │   ├── core_cm0.h
│   │   ├── core_cm0plus.h
│   │   ├── core_cm3.h
│   │   ├── core_cm4.h
│   │   ├── core_cm7.h
│   │   ├── core_cmFunc.h
│   │   ├── core_cmInstr.h
│   │   ├── core_cmSimd.h
│   │   ├── core_sc000.h
│   │   └── core_sc300.h
│   └── STM32F4xx_HAL_Driver
│   ├── Inc
│   │   ├── Legacy
│   │   │   └── stm32_hal_legacy.h
│   │   ├── stm32f4xx_hal_cortex.h
│   │   ├── stm32f4xx_hal_def.h
│   │   ├── stm32f4xx_hal_dma_ex.h
│   │   ├── stm32f4xx_hal_dma.h
│   │   ├── stm32f4xx_hal_flash_ex.h
│   │   ├── stm32f4xx_hal_flash.h
│   │   ├── stm32f4xx_hal_flash_ramfunc.h
│   │   ├── stm32f4xx_hal_gpio_ex.h
│   │   ├── stm32f4xx_hal_gpio.h
│   │   ├── stm32f4xx_hal.h
│   │   ├── stm32f4xx_hal_pwr_ex.h
│   │   ├── stm32f4xx_hal_pwr.h
│   │   ├── stm32f4xx_hal_rcc_ex.h
│   │   ├── stm32f4xx_hal_rcc.h
│   │   ├── stm32f4xx_hal_tim_ex.h
│   │   ├── stm32f4xx_hal_tim.h
│   │   └── stm32f4xx_hal_uart.h
│   └── Src
│   ├── stm32f4xx_hal.c
│   ├── stm32f4xx_hal_cortex.c
│   ├── stm32f4xx_hal_dma.c
│   ├── stm32f4xx_hal_dma_ex.c
│   ├── stm32f4xx_hal_flash.c
│   ├── stm32f4xx_hal_flash_ex.c
│   ├── stm32f4xx_hal_flash_ramfunc.c
│   ├── stm32f4xx_hal_gpio.c
│   ├── stm32f4xx_hal_pwr.c
│   ├── stm32f4xx_hal_pwr_ex.c
│   ├── stm32f4xx_hal_rcc.c
│   ├── stm32f4xx_hal_rcc_ex.c
│   ├── stm32f4xx_hal_tim.c
│   ├── stm32f4xx_hal_tim_ex.c
│   └── stm32f4xx_hal_uart.c
├── Inc
│   ├── mxconstants.h
│   ├── stm32f4xx_hal_conf.h
│   ├── stm32f4xx_it.h
│   └── TypeDef.h
├── MDK-ARM
│   ├── DebugConfig
│   │   └── usart_STM32F429IGTx.dbgconf
│   ├── JLinkLog.txt
│   ├── JLinkSettings.ini
│   ├── RTE
│   │   └── RTE_Components.h
│   ├── startup_stm32f429xx.lst
│   ├── startup_stm32f429xx.s
│   ├── usart.uvguix.Administrator
│   ├── usart.uvguix.csw
│   ├── usart.uvoptx
│   └── usart.uvprojx
├── Src
│   ├── main.c
│   ├── stm32f4xx_hal_msp.c
│   └── stm32f4xx_it.c
└── usart.ioc

20 directories, 88 files

标签:

实例下载地址

真正实现了STM32 HAL串口不定长数据的接收发送功能(DMA方式,不用限定单次接收长度和添加结束标志)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警