最近在研究一块键盘处理芯片,通讯方式是I2C总线方式。之前都是拿来主义,程序能跑起来就

了!可是自接触这块芯片后,拿来主义
就行不通了,一再调试都没有结果

,最终还是寻求官方技术人员的支持把代码调通了!
看了官方提供的代码,在看自己编写的代码,似乎、好像有不同!其实我就想看看时序,这样直观!可是手头没有逻辑分析仪,在网上搜,好像残次不齐,也不知道好不好用,总想着买个带显示屏的,不过都很贵,还是算了吧!
于是乎我就分析代码,有点心得,分享一下!
图片中是模拟I2C时序的部分代码:

I2C的起始信号规定:时钟线SCL处于高电平期间,数据线从高电平变为低电平为I2C时序的起始信号!
下面的时序图就是根据上面的代码画出来的!

红框中的变化就是起始信号的变化!

这样一来即使手里没有逻辑分析设备,用手也能画出来!
偶尔才发个帖子,小小心得,分享一下!
本文来自论坛,点击查看完整帖子内容。