求助啊,哪位有关于STM32普通IO口模拟操作SMBus通信的相关实践经验?分享下,多谢。 普通IO口模拟操作I2C的例子很多,也比较容易,SMBus与I2C有很多类似的地方,应该可以通用,但是很少看到有这方的相关详细介绍。
与I2C的差别
编辑
SMBus与I2C总线之间在时序特性上存在一些差别。首先,SMBus需要一定数据保持时间,而 I2C总线则是从内部延长数据保持时间。SMBus具有超时功能,因此当SCL太低而超过35 ms时,从器件将复位正在进行的通信。相反,I2C采用硬件复位。SMBus具有一种警报响应地址(ARA),因此当从器件产生一个中断时,它不会马上清除中断,而是一直保持到其收到一个由主器件发送的含有其地址的ARA为止。SMBus只工作在从10kHz到最高100kHz。最低工作频率10kHz是由SMBus超时功能决定的