最近工作上有用到I2C这个外设接口,上学的时候没有怎么具体用过,只是把例程拿过来用就完事了,但是现在确实不行了,用IO来模拟I2C时序,看了很多帖子,觉得最好的还是有两张图,分别为读数据和写数据的,分享一下
首先是写时序:
接下来是读时序:
从这两个时序图中很明显能看出来I2C的时序,另外我自己也总结了一下读和写的步骤:
stm32F4的IO模拟I2C和F1的程序几乎一致,只有一点不一样就是F1中的BSRR寄存器被分成了BSRRH和BSRRL寄存器,没有了BRR寄存器,把这两个注意一下就没啥问题。