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

STM32--USART串口(2)串口外设

一、USART简介

可配置数据位:不需要校验就是8位,需要校验就选9位;

停止位:决定了帧的间隔;

STM32F103C8T6USART:USART1挂载在APB2总线上,USART2和USART3挂载在APB1总线上;

二、USART框图

TXE:发送寄存器空;RXNE:接收寄存器非空;

波特率发生器:来源为APB2或APB1时钟的分频;

三、USART基本结构

右边的四个寄存器实际在软件层面只有一个寄存器DR;

写入DR时,数据走上面进行发送,读取DR时,数据走下面进行接收;

四、数据帧

1、字长设置

2、配置停止位

五、波特率发生器

采样时为了防止噪声干扰会对同一个状态进行连续16次的采样,所以内部的采样时钟是16倍的波特率。所以输入时钟 / DIV就要等于16倍的波特率。

eg:9600 = 72M / ( 16 * DIV )

DIV :  000111010100 | 1100(468.75)

六、数据模式

HEX模式、十六进制模式、二进制模式:以原始数据形式显示;

文本模式、字符模式:以原始数据编码后的形式显示;

七、printf

1、printf

printf默认输出到屏幕,但32没有屏幕,所以需要重定向;

1、勾上Use McrolLIB

2、包含头文件

3、重写fputc

2、sprintf

sprintf可以指定打印位置,不涉及 重定向的东西

3、封装sprintf

http://www.lryc.cn/news/293629.html

相关文章:

  • Unity之做一个最简单的FPS游戏demo
  • 【Springboot】单元测试Junit5应用
  • 【INTEL(ALTERA)】内部错误:子系统:PTI,文件:/quartus/tsm/pti/pti_delay_annotator.cpp
  • 大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置
  • android 设置未知来源等 AppOpsManager 权限的设置接口
  • 使用GPT实现一个简单的网站
  • 回归预测 | Matlab实现CPO-CNN-LSTM-Attention冠豪猪优化卷积长短期记忆神经网络注意力机制多变量回归预测(SE注意力机制)
  • 11:Servlet中初始化参数的获取与应用-Java Web
  • STM32的ADC采集传感器的模拟量数据
  • opencvb 十七 使用cmake配置opencv c++项目
  • Java8 中文指南(一)
  • 引流技术-通过文件中增加联系方式并传播
  • 分布式搜索引擎_学习笔记_2
  • 【学习笔记】树上差分总结(点差分/边差分)
  • Vue.js设计与实现(霍春阳)
  • go消息队列RabbitMQ - 订阅模式-fanout
  • 科普类——5G远程实时操控技术在国内港口应用简介(十三)
  • 整理:汉诺塔简析
  • Android 8.1 设置--声音中增加通话音量
  • C#中使用OpenCvSharp4绘制直线、矩形、圆、文本
  • Qt程序设计-自定义控件(提升法)
  • 计算机网络基础知识笔记
  • 【iOS ARKit】2D肢体动作捕捉
  • MAC word删除空白页
  • 字面跳动前端面试题:React Hook为什么不能放在if/循环/嵌套函数里面?
  • 【SpringBoot】SpringBoot的web开发
  • houdini 入门指南-参考自用,内有翻译错误
  • 【笔记】SPN和PLMN 运营商网络名称显示
  • Selenium处理Alert弹窗
  • FCIS 2023:洞悉网络安全新前沿,引领未来安全创新狂潮