QQ截图20201123112548.png (26.78 KB 下载次数: 0)
href="javascript:;" data-ke-src="javascript:;" data-ke-onclick="showWindow('study_attachmentad''plugin.php?id=study_attachmentad:ad&aid=MTc1ODE4fGUyYzhjMWQ5fDE2MDYxNDcyMzZ8MHwzMTk2NjU%3D¬humb=yes');return false;">下载附件
昨天 11:26 上传
这个就是模拟I2C时序,SDA作为输入和输出时的一个问题。
1、首先初始化的时候,需要将SCL和SDA设置为,GPIO_Mode_Out_OD,后面就不需要单独的将SDA设置为输入了。
2、这里我们取了一个巧,因为是OD输出模式,我们现在让SDA为高电平,这个高电平需要外部上拉电阻来维持。
这两当从机输出为高时,SDA也为高。当从机输出为低的时候,因为OD输出模式,SDA被从机拉低,这时候通过GPIO_ReadInputDataBit()函数就能读到低电平。
第一条语句执行完其实外部sda已经高电平了,第二条就是把内部sda输入部分高电平,为了读取外部输入低电平