当前位置: 首页 > news >正文

站群系统开发adsl服务器建网站

站群系统开发,adsl服务器建网站,wordpress 会员功能,无锡建站方案导言 在STM32串口通信中,传统中断方式处理效率低、耦合度高,难以应对高频收发场景。为此,本章引入ringbuffer结构,配合USART1的DMA机制,实现接收数据的自动搬运与发送数据的非阻塞输出。ringbuffer作为中间缓冲区&…

导言


在这里插入图片描述
在STM32串口通信中,传统中断方式处理效率低、耦合度高,难以应对高频收发场景。为此,本章引入ringbuffer结构,配合USART1的DMA机制,实现接收数据的自动搬运与发送数据的非阻塞输出。ringbuffer作为中间缓冲区,有效解耦了硬件DMA与用户代码逻辑,不仅提升了数据处理效率,也增强了系统稳定性和可扩展性。

效果如下:
在这里插入图片描述
如上所示,从SSCOM串口助手与单片机的全局变量看来,单片机没有丢包。单片机一共发送356607bytes,接收344960bytes。

项目地址:
github:

  • LL库: https://github.com/q164129345/MCU_Develop/tree/main/stm32f103_ll_library12_1_usart_dma_ringbuffer
  • 寄存器方式:https://github.com/q164129345/MCU_Develop/tree/main/stm32f103_reg_library12_1_usart_dma_ringbuffer

gitee(国内):

  • LL库: https://gitee.com/wallace89/MCU_Develop/tree/main/stm32f103_ll_library12_1_usart_dma_ringbuffer
  • 寄存器方式: https://gitee.com/wallace89/MCU_Develop/tree/main/stm32f103_reg_library12_1_usart_dma_ringbuffer

一、代码


LL库与寄存器方式的代码类似的,这里只介绍LL库。

1.1、myUsartDrive.c

1.1.1、ringbuffer初始化

在这里插入图片描述
在这里插入图片描述
如上所示,完成发送ringbuffer与接收ringbuffer的初始化。

1.1.2、接收ringbuffer

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上所示:

  1. 函数USART1_Put_Data_Into_Ringbuffer()的作用是将从串口收到的数据放入ringbuffer。此外,它会有一些额外的处理。比如当ringbuffer的剩余空间不足以放入新的数据时,会将旧的数据丢弃,让后放入新的数据。
  2. 在DMA接收中断与串口空闲接收中断里分别调用函数USART1_Put_Data_Into_Ringbuffer(),将接收到的数据放入ringbuffer。

1.1.3、发送ringbuffer

在这里插入图片描述
如上所示,函数USART1_Put_TxData_To_Ringbuffer()的目的是给其他模块调用,将需要发送的数据先放入ringbuffer,等待DMA一次性发送出去。

1.1.4、接收、发送ringbuffer的处理

在这里插入图片描述

1.2、main.c

在这里插入图片描述

二、细节补充


2.1、其他模块的代码,调用哪个函数将字符串从串口发送出去??

在这里插入图片描述
如上所示,外部的模块可以调用两个函数,将数据从串口发送出去:

  1. 函数USART1_SendString_Blocking()串行发送。
  2. 函数USART1_Put_TxData_To_Ringbuffer()非阻塞,异步发送。
http://www.dtcms.com/a/548082.html

相关文章:

  • 苏州网站建设求职简历怎么做系统软件网站
  • 学校网站群建设设计wordpress性能太差
  • 怎样用flash做游戏下载网站如何开网上商城
  • 低价网站制作顺德网站建设的认识
  • 做网站的去哪找私活网站排名软件利搜怎么样
  • 浦东新区网站设计网站运营方法
  • 网站建设及维护推广合同福州优化搜索引擎
  • 手机做网站公司有哪些怎么做app软件开发
  • 网站建设维护专员岗位说明一加官方网站进入
  • 优秀门户网站欣赏台山网站设计
  • 潍坊专业网站建设公司石家庄英文网站建设
  • 宣城网站 建设网易企业邮箱功能介绍
  • 做cover用什么网站深圳网站设计哪家
  • 深圳福永做网站重庆璧山网站制作公司电话
  • wordpress全站模板创建网页的代码
  • 滕州市住房城乡建设局网站威海哪里可以建设企业网站
  • 劳务派遣公司注册条件seo搜索引擎实战详解
  • 课程培训网站模板下载阿里云网站建设方案书填写
  • 商标注册平台官网百度seo怎么做
  • 最低网网站多少钱wordpress数据库删除所有评论
  • 安卓app自己开发上海关键词优化方法
  • 官方网站建设推广厦门网站建设开发公司
  • 公司网站优势吉林省吉林市龙潭区
  • 做搜索网站营销推广方式有哪些
  • 惠州h5网站建设网站正在建设中的网页怎么做
  • 企业年报查询网站网站建设网页制
  • 怎么做网站淘宝转换工具wordpress检索
  • 成都住房和城乡建设部网站查询学生兼职做网站
  • 黑龙江省城乡和建设厅网站首页海外全球购官网
  • 晋江网站建设晋江人脉做的最好的网站