首页 > 其他分享 >STM32中断方式发送字符串的两种方法(判断TC和TXE)

STM32中断方式发送字符串的两种方法(判断TC和TXE)

时间:2024-07-24 18:28:21浏览次数:18  
标签:发送 None USART 中断 TXE STM32 TC USART1

以前一直是用查询方式发送字符串的。今天研究了下手册,看到两个标志位TC和TXE,两种判断方式均可用。

先说TC。即Transmission Complete。发送一个字节后才进入中断,这里称为“发送后中断”。和原来8051的TI方式一样,都是发送后才进中断,需要在发送函数中先发送一个字节触发中断。发送函数如下

/*******
功能:中断方式发送字符串.采用判断TC的方式.即 判断 发送后中断 位.
输入:字符串的首地址
输出:无
*******/
void USART_SendDataString( u8 *pData )
{
    pDataByte = pData;
  
    USART_ClearFlag(USART1, USART_FLAG_TC);//清除传输完成标志位,否则可能会丢失第1个字节的数据.网友提供.
   
    USART_SendData(USART1, *(pDataByte++) ); //必须要++,不然会把第一个字符t发送两次
}


中断处理函数如下
/********
* Function Name  : USART1_IRQHandler
* Description    : This function handles USART1 global interrupt request.
* Input          : None
* Output         : None
* Return         : None
*********/
void USART1_IRQHandler(void)
{
    if( USART_GetITStatus(USART1, USART_IT_TC) == SET  )

标签:发送,None,USART,中断,TXE,STM32,TC,USART1
From: https://blog.csdn.net/shengyin714959/article/details/140669693

相关文章

  • 打卡信奥刷题(417)用Scratch图形化工具信奥P10416[普及组/提高] [蓝桥杯 2023 国 A] XYZ
    [蓝桥杯2023国A]XYZ题目描述给定一个区间[L,R][L,R]......
  • 每日一题:Leetcode-32 最长有效括号
    力扣题目解题思路java代码力扣题目:给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"输出:4解释:最长有效括号子串是"()()"示例3:输入:s=""......
  • 【计算机网络】TCP三次握手和四次挥手
    客户端–发送带有SYN标志的数据包–一次握手–服务端服务端–发送带有SYN/ACK标志的数据包–二次握手–客户端客户端–发送带有带有ACK标志的数据包–三次握手–服务端为什么是三次握手而不是两次握手?在不可靠的网络中,可能会出现包传输延迟变化大,存在重传的报......
  • [atcoder utpc2023_p] Priority Queue 3
    PriorityQueue3题意:有一个小根堆和\(1\)~\(n\)个数,以及一个操作序列,+表示\(push\),-表示\(pop\),\(pop\)有\(m\)次,问你有多少种插入顺序使得最后的pop集合与给出的的数字集合\(Y\)相同。首先有个浅显的发现:对于不在\(Y\)集合中的数,可选范围形如一个阶梯,换句话......
  • 服务端渲染中的数据获取:结合 useRequestHeaders 与 useFetch
    title:服务端渲染中的数据获取:结合useRequestHeaders与useFetchdate:2024/7/24updated:2024/7/24author:cmdragonexcerpt:摘要:本文介绍Vue服务端渲染中使用useRequestHeaders获取请求头部信息,如cookie和authorization,示例展示了如何在SSR环境下结合useFetch进行API......
  • 求解!do...while 语句嵌套switch语句为何会出现死循环?
    这是我写的一段实现通讯录的代码voidmenu(){ printf("**************************************\n"); printf("*******1.Add2.Del*****\n"); printf("*******3.Search4.Modify*****\n"); printf("*******5.Show......
  • SketchUp v2023 激活版下载与安装教程 (强大的绘图三维建模工具)
    前言Sketchup草图大师专业版,一套面向建筑师、城市规划专家、制片人、游戏开发者以及相关专业人员的3D建模程序,全球知名的三维建模软件,强大的绘图工具、建模渲染、扩展插件和渲染器模板、海量3D模型库及建模灯光材质渲染效果图,用于建筑师、城市规划专家、游戏开发等行业。......
  • SPI协议——结合百问网STM32入门 STM32 HAL快速入门与项目实战视频
    目录1、SPI协议的概念2、SPI的传输模式2.1SPI工作模式2.2SPI传输模式2.3SPI操作方法3、时序图4、代码实现4.1SPIHAL库编程4.2中断方式4.3DMA方式函数说明5、总结5.1SPI协议的优点5.2SPI协议的缺点1、SPI协议的概念SPI(SerialPeripheralInterface,......
  • Solution - Atcoder Xmas2019E Sum of f(n)
    考虑\(F(n)=\sum\limits_{i=1}^nf_i=\sum\limits_{i=1}^n\sum\limits_{p\in\mathbb{P},k\ge1}[p^k|i]=\sum\limits_{p\in\mathbb{P},k\ge1}\lfloor\frac{n}{p^k}\rfloor\)。对于这个\(\lfloor\frac{n}{x}\rfloor\),一个比较经典的想法就是考虑对其......
  • 1.2.3_1 OSI参考模型&TCP/IP模型
    一、术语二、常见网络设备的功能层次    对于OSI模型,主机实现了第17层的全部,集线器实现了第1层,交换机实现了第12层,路由器实现了第1~3层。1、物理层    物理层的任务是实现相邻节点之间比特(0或1)的传输。需要定义电路接口的参数(如:形状、尺寸、引脚数等)。需要......