关于STM32F070RB的I2C_ISR中TXIS和TXE的区别

2019-12-20 21:31发布


各位好,请教一下 i2c 中断状态寄存器中 TXIS 和 TXE 的区别是什么 ?  手册中的解释为:


没明白这个and 增加的条件是什么意思,请指教 。 多谢 !
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
sme
1楼-- · 2019-12-21 01:57
简单来说,用户根据TXIS状态来写入要发送的数据。可以将TXE置1 来丢弃已经写入TXDR的数据。
ug82
2楼-- · 2019-12-21 05:40
 精彩回答 2  元偷偷看……
sme
3楼-- · 2019-12-21 07:19
你参考库中的代码,也验证了我所说的是正确的。
只能通过TXIS来判断是否能向TXDR中写入数据。
TXE的说明这句是重点:
This bit can be written to '1' by software in order to flush the transmit data register I2C_TXDR.
ug82
4楼-- · 2019-12-21 09:16
嗯,你说的对,感谢 !
这里再总结一下,I2C_CR2寄存器的 NBYTES[7:0] 将影响 TXIS位,当已发送出一个字节 且 NBYTES【7:0】 表征的数据个数没有发送完时,TXIS就将置1。

一周热门 更多>