首页 > 其他分享 >STM32 UART学习

STM32 UART学习

时间:2022-11-04 09:45:39浏览次数:72  
标签:学习 USART UART TXE 发送 STM32 串口 TC

UART配置步骤:

1、初始化串口所需要的GPIO

2、初始化串口,USART_InitTypeDef

3、中断配置(接收中断,中断优先级)

4、使能串口

5、编写接收和发送函数

6、编写中断服务函数

 

key points:

/* 等待发送数据寄存器为空 */

while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);

/* 等待发送完成 */
while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TC)==RESET)

TC和TXE的区别:

这两个标志位是有时间先后顺序的,TC要在TXE置位并且数据传输完成后才置位,表明TXE是更早发生的。TXE只能表明数据寄存器的数据被传输的移位寄存器,而此时数据并没有发送出去。

TC则表示一帧数据发送完成,缓冲区的数据都已经发送出去了,甚至接收端也已经收到数据了。

标签:学习,USART,UART,TXE,发送,STM32,串口,TC
From: https://www.cnblogs.com/Vincent95/p/16856650.html

相关文章

  • STM32禁用JTAG,并使用JTAG引脚为通用IO口(转载)
    STM32禁用JTAG,并使用JTAG引脚为通用IO口两种禁用模式标准库配置:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF,ENABLE);//......
  • JVM学习笔记——垃圾回收篇
    JVM学习笔记——垃圾回收篇在本系列内容中我们会对JVM做一个系统的学习,本片将会介绍JVM的垃圾回收部分我们会分为以下几部分进行介绍:判断垃圾回收对象垃圾回收算法分......
  • localtime_r学习
    转自:https://blog.csdn.net/u010087712/article/details/507312221.localtime_r  用来获取系统时间,运行于linux平台下。 函数原型:structtm*localtime_r(constti......
  • Flask学习笔记(十八)-Flask 信号机制
    一、说明官方文档-信号参考Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为安装:pip3installblinker二、自定义信号自定义......
  • TR-069协议学习记录
    TR-069协议学习记录TR-069协议概念CWMP(CPEWANManagementProtocol,CPE广域网管理协议),编号为​​TR-069​​​,故又被称为​​TR-069​​协议。TR-069协议的应用​​TR-069......
  • 【单片机/嵌入式】【梁山派】学习日志03:寄存器和库函数介绍
    寄存器和库函数介绍资料下载:https://www.gd32mcu.com/cn/download/5?kw=GD32F4https://www.gd32mcu.com/cn/download/6?kw=GD32F4(1)下载GD32F4xx用户手册 (2)下载GD32F......
  • octave学习之--三维绘图
    代码1:z=sqrt(x^2+y^2)closeallx=-6:0.05:6;[X,Y]=meshgrid(x);Z=sqrt(X.^2+Y.^2);mesh(X,Y,Z)如图1:代码2:z=2-x^2-y^2clearallx=-5:0.1:......
  • 学习的目标
    学习的目标1、restFul风格接口--就是同一个属性的(例如User对象的curd)都使用“/user”为前缀,使用不同的注解区分2、高并发、多线程的实际应用3、springboot集成redi......
  • 学习驾照经验
    学习驾照各位读者朋友,最近你们的好朋友我IT黑铁正在学习驾照,笨拙的我经历了两次科目二失败后,在第三次科目二考试中成功通过,下面给大家分享我的科目二学习经验。科目......
  • 20201318李兴昕第十二章学习笔记
    第十二章:块设备I/O和缓冲区管理知识点归纳总结:本章讨论了块设备I/O和缓冲区管理;解释了块设备I/O的原理和I/O缓冲的优点;论述了Unix的缓冲区管理算法,并指出了其不足之......