找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3106|回复: 5
打印 上一主题 下一主题
收起左侧

单片机初始化串口需要清除发送完成标志位吗?

[复制链接]
跳转到指定楼层
楼主
我看了一个单片机代码,在初始化串口的时候,他清除了发送完成标志位,我想问一下,这个要在这里清除吗
  1. void usart1_para_config(void)
  2. {
  3.   USART_InitTypeDef USART_InitStruct;
  4.   
  5.   USART_InitStruct.USART_BaudRate = 115200;
  6.   USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  7.   USART_InitStruct.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; //收发模式
  8.   
  9.   USART_InitStruct.USART_WordLength = USART_WordLength_8b; //8
  10.   USART_InitStruct.USART_Parity = USART_Parity_No;         //n
  11.   USART_InitStruct.USART_StopBits = USART_StopBits_1;      //1
  12.   
  13.   USART_Init(USART1 , &USART_InitStruct);
  14.   
  15. <font color="#ff0000">USART_ClearFlag(USART1, USART_IT_TC); //清除发送完成标志位</font>
  16.   USART_Cmd(USART1, ENABLE); //使能串口 1
  17.   
  18.   USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //使能接收
  19. }
复制代码

发送.JPG (76.17 KB, 下载次数: 125)

发送.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2020-2-28 16:33 | 只看该作者
默认上电是清除发送完成标志位的,初始化串口时可以不专门做这个。
回复

使用道具 举报

板凳
ID:235200 发表于 2020-2-28 17:05 | 只看该作者
为了保证可靠,一般都设置了初始化时清除标志,不清除有时也会是对的
回复

使用道具 举报

地板
ID:400250 发表于 2020-2-29 13:40 | 只看该作者
我个人认为单片机初始化串口需要清除发送完成标志位,目前我还没遇到初始化串口不需要清除发送完成标志位的,个人建议清除吧。
回复

使用道具 举报

5#
ID:93224 发表于 2020-2-29 17:09 | 只看该作者
清除以下最好
回复

使用道具 举报

6#
ID:159575 发表于 2020-2-29 18:13 来自手机 | 只看该作者
小工程清不清无所谓,大工程模块化最好清一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表