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

【HAL库学习笔记】四、STM32串口与定时器

Catalogue

  • STM32串口与定时器
    • 一、串行接受的相关知识点
    • 二、STM32CubeMX中关于USART的配置
    • 三、HAL库中重要的收发函数
    • 四、串口调试助手
    • 五、串口实验
      • 1、CubeMX的配置与代码结构
      • 2、实现阻塞式发送
    • Reference

STM32串口与定时器

一、串行接受的相关知识点

笔者使用的是正点原子精英开发板STM32F103ZET6,具体的串口分布如下图所示,有两个串口USART1USART2


二、STM32CubeMX中关于USART的配置


三、HAL库中重要的收发函数

查看一下串口的一些发送函数:

非阻塞式的发送函数,会在发送完成之后触发中断,我们可以在中断回调函数中,进行一些处理,举个例子:

下面查看一下,串口的一些接收函数:


四、串口调试助手

笔者使用的是正点原子精英开发板STM32F103ZET6,使用正点原子的串口调试助手XCOM,配置XCOM的具体方法如下(非正点原子开发板也能使用,串口调试助手是通用的),

下载地址:串口助手
密码:ipyn
首先进入,安装虚拟串口驱动(如果已经安装可以跳过这一步)

双击,傻瓜式安装

启动windows的设备管理器,可以查看到虚拟串口的存在,那么安装成功

然后进入第二个文件夹,启动XCOM串口助手

可以按照下面的方法来时候,XCOM串口助手


五、串口实验

1、CubeMX的配置与代码结构

首先进行CubeMX的配置

这样就配置好了,接着我们生成代码,打开工程目录,我们可以看到在main.c中生成了串口的初始化函数

我们查看一下代码结构,和CubeMX生成的其他初始化类似,都是先定义一个对象,再声明该对象的实例是什么

2、实现阻塞式发送

我们在主函数中定义一些需要发送的message

我们在主函数中使用阻塞式发送函数进行简单的信息发送,并且设置一个LED翻转来显示发送是否完成,打开XCOM查看信息

可以看到XCOM成功接受了信息

为了方便调用,我们定义一些宏

//定义一些宏
#define LED_ON do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_RESET);} while(0)           //设置LED灭
#define LED_OFF do{HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);} while(0)            //设置LED亮

即可将代码改成这样:


Reference

https://www.361shipin.com/blog/1505619128361226241
https://www.bilibili.com/video/BV1m7411H7oT?p=6&vd_source=d02fb26eb2345ac42c054db0bb8d8864

相关文章:

  • 外贸网站设计风格/网络推广公司网站
  • 一 网站建设的目的与意义/中国万网
  • 哪家公司网站建设口碑好/软件外包网
  • 免费做自己的网站有钱赚吗/宁德市旅游景点大全
  • 网上信息发布平台/百度seo什么意思
  • wix域名换到wordpress/天津百度搜索排名优化
  • 编程初学者如何缓解迷茫和焦虑?墙裂推荐此文,助你赢在起跑线
  • 图解git原理
  • DOM特效模拟框拖拽
  • ITIL 4 Foundation知识体系-第四章:服务价值体系-2
  • 【备战十四届蓝桥杯 | 开篇】如何高效备战蓝桥杯
  • 北京化工大学2022-2023-1 ACM集训队每周程序设计竞赛(6)题解
  • SpringMVC 5 Rest 风格 5.4 RESTful 案例 5.4.1 需求分析 5.4.2 环境准备
  • Java学习笔记:Java中访问数据库
  • 【程序环境与预处理】
  • 【ASM】字节码操作 转换已有的类 ClassReader 修改字段信息 删除字段 增加字段
  • VIM使用进阶:VIM脚本初步
  • java基于微信小程序的校园二手交易平台+ssm+uinapp+Mysql+计算机毕业设计