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

网站建设开发图片免费隐私网站推广

网站建设开发图片,免费隐私网站推广,17网站一起做网店新塘,怎么用dreamweaver做网站本篇主要结合代码落实,之前串口已经配置好的DMA方式。 一、首先我们把串口看成一个对象,它有属性、私有数据和方法; 每个串口都有名字属性;有初始化、发送、接收方法;还有一个私有数据(这个私有数据是每个…

本篇主要结合代码落实,之前串口已经配置好的DMA方式。

一、首先我们把串口看成一个对象,它有属性、私有数据和方法

每个串口都有名字属性;有初始化、发送、接收方法;还有一个私有数据(这个私有数据是每个串口都独立拥有的,例如Hal库函数接口,需要具体到是哪个串口)

私有数据:串口句柄指针、信号量、队列、数组

串口句柄指针:Hal库的函数调用接口需要传递,是哪个串口,因为所有串口都调用同一套函数

例如:启动DMA发送函数 HAL_UART_Transmit_DMA(data->handle, datas, len);

把串口句柄落实到串口对象的一个私有数据,本身也很合理;

信号量:用来协调是否已经发送完毕(串口的发送完毕时会调用中断,中断内部发出信号),在发送的地方会检查,串口是否正在发送还是已经发送完毕,如果已经发送完毕则可以顺利调用,否则可能要阻塞等待。所以这里需要一个信号量,目的就是检查串口是否已经忙完,可以进行发送

队列:首先是DMA会悄悄自动把数据存入数组然后触发中断中断里面数据存到队列,在任务里面查询队列的数据,并解码数据;

数组:DMA的使用需要传入一个目标地址,即DMA会不经过cpu,自动把外设串口的数据搬到内存数组里面,搬好后会触发中断。

串口私有数据是全局变量,也就是代码运行的时候前就已经

代码这样写兼顾考虑工程可能有多个串口

二、初始化:

初始化前先了解整体的框架背景:

设计了三个串口,除了名字和私有数据不一样,初始化、发送、接收方法都一样。

为了方便使用,用三个指针指向这三个设备

三个方法会根据传入的句柄不一样,启动不一样的动作

使用数组指针去管理三个串口设备

三、在指定的任务中调用以下(如taskUart)

调用(115200等参数没有使用,在CubeMx配置时就搞好了)

四、中断处理

发送完毕后,触发发送完毕回调函数,在回调函数里面,释放信号量。这样调用发送的地方就可以正常发送

接收完毕触发接收回调函数:这里有两种中断情况会触发:1、串口接收完毕;2、空闲中断触发

在回调函数内部做两个事情:1、把DMA的数据发到队列里;2、重新开启Idle中断

五、在任务中获取接收队列的数据,把数据获取到本地数组,满足一定数量后做解码操作

以上代码很多是结合韦东山老师的代码,做了修改和整理

http://www.dtcms.com/wzjs/528710.html

相关文章:

  • 襄阳seo研究中心seo图片优化的方法
  • 可视化网站制作自媒体是如何赚钱的
  • 附近人才招聘市场seo排名优化哪家好
  • wordpress请提供一个地址才能继续seo优化招商
  • 自己设置免费网站设计平台58网络推广
  • 合肥做网站行吗google推广公司
  • 西安做网站设计公司优化落实疫情防控新十条
  • 网络营销网站建设论文seo优化顾问服务阿亮
  • 网站开发和web 百度一下
  • 河北邢台最新疫情seo外链优化
  • 禁止网站收录今日最新抗疫数据
  • 怎么做推广网站郑州短视频代运营
  • 关于网站建设 策划文案seo技术培训唐山
  • 提供网站建设商家企业网络营销业务
  • 黑龙江企业网站设计团队谈谈你对网络营销的认识
  • 域名转移影响网站访问吗自媒体平台注册官网
  • 网站友情链接要加什么用如何发布一个网站
  • 系统网站建设ppt大型网站建设方案
  • 太原网站设计开发公司网站站内关键词优化
  • 做网上任务赚钱的网站怎么网络推广
  • 虎门有没有做网站公司网址查询服务器地址
  • 公司英文网站多少钱站长工具官网域名查询
  • 陕西建设银行官网站seo软件哪个好
  • 做二手车有哪些网站有哪些手续费网络营销工程师是做什么的
  • 网站后台不能排版个人怎么在百度上做推广
  • 做网站是干嘛登录百度
  • 商城网站开发公司网络营销专业学什么
  • 电脑设计怎么自学aso关键词优化工具
  • 矿产网站开发百度推广官方投诉电话
  • 个人秀网站自媒体平台排名前十