有关I2C的数据发送中寄存器的问题。

2019-07-20 14:08发布

    请各位大神帮忙解答下我的疑惑,困扰我好久了,用的是ST F429的I2C,
    1、BTF置1的条件是不是在允许SCL延长,并且移位寄存器为空,DR寄存器为空?举个例子,I2C在发送数据时,DR已经为空,当数据发送完毕,移位寄存器为空,如果不向DR中写入数据,BTF会置1。是这样的吗?
    2、再举个例子,禁止时钟延长,向DR中写入数据,此时该数据会被马上送到移位寄存器中,并准备发送,然后不向DR中写入数据,我想问的是那此时DR为空?TxE会置1?按照我的想法是DR会为空,TxE会置1,但是我看到参考手册中有这么一句话“禁止时钟延长,如果发生下溢错误,会再次发送DR寄存器中的字节”,我就好奇了,下溢错误发生时,DR都已经为空了,它还怎么“再次发送DR寄存器中的字节”?难不成发送0X00?

0条回答

一周热门 更多>