如何区分STM32的一个程序是I2C程序是固件I2C还是模拟I2C

2025-03-13 20:03:30
推荐回答(2个)
回答1:

1,可以看底层配置,比如IO口配置,如果配置了IO口的功能(IIC功能)那就是固件IIC,否则就是模拟。。。
2,可以看IIC写函数,看里面有木有调用现成的函数或者给某个寄存器赋值,如果有,则肯定是固件IIC功能,没有的话肯定是数据一个bit一个bit模拟发生送的,肯定用到了循环,则为模拟。。。
3,根据代码量判断。。。模拟的代码量肯定比固件的要大。。。
希望对你有帮助。。。谢谢

回答2:

模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而固件I2C是直接调用内部寄存器进行配置。如果要从具体硬件上来看,可以去看下芯片手册。因为固件I2C的端口是固定的。所以会有所却别。但如果所分时复用的,那就GG思密达吧。看代码的具体驱动程序所最直接的。