笔记--STM32F407调试BQ4050--SMBUS通信

  • **

    笔记–平时工作的总结

    **
    **搞单片机开发的几乎都用过IIC,而且大部分都是直接IO模拟IIC。SMBUS估计用的人就少了,第一次接触我也是懵逼的,然后百度了一下,大体意思就是SMBUS跟IIC基本一样,就是速率有点差别而已。差了一大堆资料,总结就是
    SMBUS可以用IIC的程序改,但是传输速率要根据芯片的速率做一个调整。
    本次使用的硬件是STM32F407,之所以用这个芯片完全是因为手头有这个板子可以方便调试,理论上你可以用任何可以实现IIC功能的单片机来读取BQ4050的数据。本次IIC用的硬件IIC,原因是因为参考了网上同行的调试笔记,都是硬件调通的;模拟IIC应该也可以,但是时许要搞对。
    SMBUS大体明白了,就要看BQ4050的资料了。TI官网下载资料。数据表和用户手册。全是英文,一头懵。不过不要担心,通过数据表只需要确认这款芯片的SMBUS接口和供电口是哪个,然后工资速率是什么就可以了。通过用户手册需要确认我们需要读取的内容寄存器地址、设备地址是什么就可以了。
    接下来就是硬件接线,建立工程,网上找硬件IIC的参考代码,移植到工程,调试读取数据。这里如果调试的不是很顺利,就建议找个示波器看下信号线的波形,波形不对,就别折腾了,肯定程序不对(排除硬件原因的话)。
    找了几个程序都失败了,最后找了个HAL库的例子,调试通过。所以要充分利用网络资源,能移植的就别装逼自己搞了。本次调SMBUS用时一下午,大部分时间都用来理清资料了。由于项目还需要保密,代码就不方便贴上来了, 有疑问的可以加qq363530137

笔记--STM32F407调试BQ4050--SMBUS通信