STM32/STM8技术论坛
直播中

h1654155275.5669

8年用户 1030经验值
私信 关注
[问答]

USART发送完成为什么不清除发送完标志位?

uSART发送完成为什么不清除发送完标志位?

回帖(15)

杨海清

2018-12-12 15:55:33
写入新数据时自动清除
举报

张宇

2018-12-12 15:55:44
然后呢?你是怎么应对这个的呢     
举报

h1654155275.5669

2018-12-12 15:55:58
在usart中断发送完成函数里面,发送完成只是禁止发送中断等,并没有调用__HAL_UART_CLEAR_FLAG()清除发送完成标志
举报

李霞

2018-12-12 15:57:07
11.png
举报

王超

2018-12-12 15:57:22
读取中断寄存器就是清零了
举报

h1654155275.5669

2018-12-12 15:57:31
可是在禁止中断函数里面并没有清楚中断标志位。  
举报

李丽

2018-12-12 15:57:55
12.png
举报

王平

2018-12-12 15:58:07
规格书说了,只有写清除标识位和继续发送数据才能清除中断标志
举报

刘勇

2018-12-12 15:58:16
两种清方式:软件清或者继续发送自动清。
举报

刘勇

2018-12-12 15:58:24
所以这里就是最后一个发送完,肯定要软件清。
举报

王秀兰

2018-12-12 15:58:44
就是不清除,如果是最后一个数据就关闭发送完成中断.
举报

lee_st

2018-12-12 23:14:26
没有仔细看手册啊,读dr寄存器后自动清除
举报

lee_st

2018-12-12 23:14:36
很多人都糊涂的
举报

lee_st

2018-12-12 23:15:06
我一个领导今天还问我这事,
举报

阿信509

2018-12-13 17:23:24
硬件置1,软件清0,不是挺好的吗
举报

更多回帖

发帖
×
20
完善资料,
赚取积分