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

STM32自学记录(十)

STM32自学记录


文章目录

  • STM32自学记录
  • 前言
  • 一、USART杂记
  • 二、实验
    • 1.学习视频
    • 2.复现代码
  • 总结


前言

USART


一、USART杂记

通信接口:通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统。
通信协议:制定通信的规则,通信双方按照协议规则进行数据收发。
定时器计数、PWM输出、AD采集
硬件电路:简单双向串口通信有两根通信线:发送端Tx和接收端Rx。
Tx与Rx要交叉连接。
当只需要单向的数据传输时,可以只接一根通信线。
当电平标准不一致时,需要加电平转换芯片。
电平标准:电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:
TTL电平:+3.3V或+5V表示1,0V表示0
RS232电平:-3~-15V表示1,+3-+15V表示0
RS485电平:两线压差+2~+6V表示1,-2- -6V表示0(差分信号,抗干扰)
串口参数及时序:波特率:串口通信的速率;起始位:标志一个数据帧的开始,固定为低电平;数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行。校验位:用于数据验证,根据数据位计算得来;停止位:用于数据帧间隔,固定为高电平。
奇偶校验、CRC校验
Tx引脚输出定时翻转的高低电平;Rx引脚定时读取引脚的高低电平。
USART通用同步/异步收发器
USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成的数据帧时序,从Tx引脚发送出去,也可自动接收Rx引脚的数据帧时序,拼接为一个字节数据,存放在数据寄存器里。
自带波特率发生器,最高达4.5Mbits;
可配置数据位长度(8/9)、停止位长度(0.5/1/1.5/2)
可选校验位(无校验/奇校验/偶校验)
支持同步模式,硬件流控制,DMA,智能卡,Irda,LIN
STM32F103C8T6 USART资源:USART1、USART2、USART3
状态寄存器有两个标志位比较重要:TXE发送寄存器空、RXNE接收寄存器非空
波特率发生器其实就是分频器;APB时钟进行分频,得到发送和接收移位的时钟。
空闲帧–1,断开帧–0,局域网协议用,串口不用
9位字节,有校验;9位字节,无校验。
波特率发生器:发送器和接收器的波特率由波特率寄存器BRR里的DIV确定。
计算公式:波特率=Fpclk2/1/(16*DIV)
USART寄存器:状态寄存器(USART_SR)+数据寄存器(USART_DRR)+波特比率寄存器(USART_BRR)+控制寄存器(USART_CR)+…
每个外设都有:状态寄存器SR(存放各种标志位);数据寄存器DR(存放最关键的数据);配置寄存器CR(存放各种配置参数)
数据模式:HEX模式/十六进制模式/二进制模式(以原始数据的形式显示)/文本模式/字符模式(以原始数据编码后的形式显示)
FlyMcu是串口下载,STLINK Utility是STLINK下载。
串口下载——配置工程,生成一个HEX文件。
状态机
STM32只有在刚复位时才会读取Boot引脚;程序运行之后,切换Boot引脚是无效的。

通信接口:
在这里插入图片描述

硬件电路:
在这里插入图片描述

串口参数及时序:
在这里插入图片描述

USART框图:
在这里插入图片描述

USART基本结构:
在这里插入图片描述

数据帧:
在这里插入图片描述

起始位侦测:
在这里插入图片描述

数据采样:
在这里插入图片描述

波特率发生器:
在这里插入图片描述

数据模式:
在这里插入图片描述

printf函数:
在这里插入图片描述

UTF8不乱码方案:打开工程选项,C/C++,杂项控制栏,添加–no-multibyte-chars
在这里插入图片描述

HEX数据包:
在这里插入图片描述

文本数据包:
在这里插入图片描述

HEX数据包接收:
在这里插入图片描述

文本数据包接收:
在这里插入图片描述

生成HEX文件:
在这里插入图片描述
在这里插入图片描述

FlyMcu软件使用:
在这里插入图片描述
配置BOOT0为1,然后按复位键;软件按开始编程
在这里插入图片描述
下面操作适用于批量测试程序:下载完直接跳转运行程序,当次有效,适用于测试程序
在这里插入图片描述

二、实验

1.学习视频

B站学习视频:https://www.bilibili.com/video/BV1th411z7sn?spm_id_from=333.788.videopod.episodes&vd_source=a329b5512bc531099df1a823202af19c&p=25

2.复现代码

百度网盘链接:https://pan.baidu.com/s/1hNZbjRHVqfOgfw_L61BHAg
提取码:opjb


总结

单片机只是纸老虎,只管去做就好。


http://www.kler.cn/a/542642.html

相关文章:

  • RabbitMQ 如何设置限流?
  • 在Uniapp中使用阿里云OSS插件实现文件上传
  • 网络工程师 (29)CSMA/CD协议
  • bug-ant下拉框解决下拉框跟随表单容器(指定下拉框挂载容器):getPopupContainer=“p=>p.parentNode“
  • html为<td>添加标注文本
  • MongoDB进阶篇-索引
  • 数据结构:排序—归并排序(四 )
  • 矩阵 NFC 碰一碰发视频源码搭建技术解析,支持OEM
  • STM32 HAL库 PWM程序(C语言)
  • 【02】RUST项目(Cargo)
  • 第六篇:数字逻辑的“矩阵革命”——域控制器中的组合电路设计
  • 如何将网站提交百度收录完整SEO教程
  • Ubuntu 安装 NVIDIA 驱动实操指南(含卸载)
  • 【pytest】获取所有用例名称并存于数据库
  • python tkinter实现deepseek的连接访问
  • 新一代高性能无线传输模块M-GATEWAY3
  • Flink-序列化
  • 生产环境超实用Shell脚本三
  • JAVA (Springboot) i18n国际化语言配置
  • JVM 中的各种收集器总结
  • 为什么用源码搭建体育比分直播系统更高效
  • 线上HBase client返回超时异常分析 HBase callTimeout=60000
  • Docker 安装指南:Windows、Mac、Linux
  • Java+vue前后端分离项目集群部署
  • Redis集群的拓扑常用的几种
  • springcloud html5