与STM32的发送中断相关的标志位有USART_IT_TXEUSART_IT_TC

根据ST芯片手册的信息可知,USART在发送移位寄存器(Transmit Shift Register)前面,还有一个TDR(Transmit data register)寄存器。芯片手册注图如下:
芯片手册对TXE的描述如下,向DR寄存器写入数据即可清除TXE标志位。
TXE标志位由硬件置位,产生TXEIE中断标志位,如果开启了TXE中断,则会产生一次中断。
TXE置位,意味着TDR的数据移位到DR寄存器,并已启动发送;TDR寄存器已为空,可以发送下一字节数据到TDR寄存器,并且不会覆盖之前DR寄存器的内容。

当传输在进行时,写入DR寄存器的内容被保存到TDR寄存器,等待当前传输完成时,再将TDR寄存器的内容拷贝到DR寄存器,然后执行发送;
当传输未进行时,写入DR寄存器的内容被直接写入到DR移位寄存器,启动数据传输,并立即置TXE位;
每传输完一字节内容,如果TEX位为1,则TC位为1。并且会产生一个中断,如果设置了USART_CR1寄存器的TCIE位。
TC位清除软件顺序:
1.读USART_SR寄存器;
2.写USART_DR寄存器。

总结

USART_IT_TXE是在TDR寄存器为空时产生的中断标志位;USART_IT_TC是在DR寄存器发送完最后一个位时产生的中断标志位。

STM32的USART发送中断标志位USART_IT_TXE和USART_IT_TC相关推荐

  1. STM32中事件标志位与中断标志位

    事件标志位:FlagStatus 中断标志位:ITStatus 当一个事件发生时,事件标志位由硬件置1,此时无论是否使能中断 若在此时使能中断将产生中断,其实中断标志已经被置1(产生事件的时候) 可见 ...

  2. STM32用USART发送字符串,以USART_FLAG_TXE和USART_FLAG_TC怎么用

    STM32用USART发送字符串,以USART_FLAG_TXE和USART_FLAG_TC怎么用 一:STM32用USART发送字符串 void UART_Send_Message(u8 *Data ...

  3. java线程锁标记_java 线程 中断标志位

    课程素材来自 http://enjoy.ke.qq.com/    版权所有 java线程中,线程中断方法详解: 线程自然终止:自然执行完或抛出未处理异常 stop(),resume(),suspen ...

  4. java 线程 中断标志位

    课程素材来自 http://enjoy.ke.qq.com/    版权所有 java线程中,线程中断方法详解: 线程自然终止:自然执行完或抛出未处理异常 stop(),resume(),suspen ...

  5. 线程中断标志位 interrupt()、interrupted()、isInterrupted() 的认识

    常见问题 首先你是怎么去关闭一个开启的线程.调用中断方法之后,线程就立即停止运行吗? 带着这两个问题探讨一下,主要围绕着这三个方法讲述: interrupt().interrupted().isInt ...

  6. dsp的ad标志位是什么_关于STM32 AD转换的ADC_FLAG_EOC标志位问题

    关于STM32 AD转换的ADC_FLAG_EOC标志位问题 [复制链接] 小弟最近再写STM32的ADC,看了很多网的例程都是用DMA接数据,但是我想直接用AD读到寄存器,再拿出来处理. 在写程序的 ...

  7. 定时器中断标志位理解

    1.定时器中断标志位程序 ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT) { ITStatus bitstatus = RES ...

  8. STM32的USART发送数据时如何使用TXE和TC标志

    在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器(下图中阴影部分的TDR),另一个是程序看不到的移位寄存器(下图中阴影部分Transmit Shift Register). ...

  9. 【串口发送中断】基于赛元单片机使用三合一串口的UART功能

    文章目录 前言 中断的方式发送数据 代码示例 准备工作 宏定义及全局变量 初始化 中断服务函数 ==发送逻辑函数== 启动发送函数 总结 前言 关于赛元单片机触摸的那篇文章确实帮助到过一些网友,后来有 ...

最新文章

  1. 使用PostMan测试文件上传接口
  2. 《分布式系统:概念与设计》一1.6 实例研究:万维网
  3. excel python 形状_何使用Python操作Excel绘制柱形图
  4. 怎么安装python3-如何装python3
  5. OpenCV使用模板与遮罩匹配的实例(附完整代码)
  6. js 小数取整的函数
  7. 音视频技术开发周刊 | 225
  8. Activity与Intent
  9. c++设置单元格填充色_格式函数text,设置自定义格式的万金油
  10. 免费生成https证书以及配置
  11. 德佑地产房产经纪人区域总监访谈:有肌肉,更有内涵!
  12. 有功功率 无功功率 功率因数
  13. 如何设置ubuntu的PATH环境变量
  14. 奔图打印机显示未连接_国货之“彩” |奔图CP2200DW彩色激光打印机首测
  15. idea 添加格式化json插件GsonFormat 和快速解析第三方返回json数据
  16. springboot+vue开发小说网站及作品写作发布
  17. 2019华为软件精英挑战赛总结篇
  18. 论文阅读-Whisper语音识别(OpenAI)
  19. 腾讯云“黑石”真相——“物理私服”
  20. Mac苹果 M1配置cocoapods

热门文章

  1. 潭州学院html学习(day04)
  2. 计算机存储系统之磁盘阵列技术
  3. Life is going on
  4. 【卢森堡大学】年薪55W+RMB,计算机科学副研究员(博士后),low code 机器学习研究...
  5. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.my.mapper.UserM
  6. STM32F1_HAL库用户使用手册UM1850
  7. 平板电脑软件测试招聘,【华为工资】软件测试工程师待遇-看准网
  8. ios 输入法扩展_iOS 11自带输入法新增3个小功能,贴心!
  9. WCS系统中运输车交通管制
  10. 思维/图论 (CodeForces 1189D2 Add on a Tree: Revolution)