ina226介绍
上一篇我们已经调试好挂载在i2c-1上0x50地址的eeprom,这次我们要再往上面挂一个设备:ina226
硬件改造
直接从EEPROM上焊两根线出来
使用i2cdetect 成功识别到ina226
打通读写通道
1.确定读写模式:
可以看到,写时序比较正常,但ina226的读取没有使用伪写,而是采用半写+直读的方式进行,以图形展示
写时序:
读时序:
第一步半写:(DATA为想要读取的寄存器地址)
第二步直读:
(注意:其实PDF中的话说的挺隐讳的,很难分清到底是哪种方式,我是使用逻辑分析仪抓了arduino正常的通讯包确认的)
2.上机调整:
上机使用Linux C的测试程序测试,发现写也有点问题
这是使用arduino 正常操作ina226的时序:
这是我操作ina226的时序:
高低位写反了,调一下就行了。
移植驱动函数
之前在arduino上使用过INA226,正好arduino与Qt都是C++,移植起来很简单,几乎没有大改动。
把cpp里面:
改成这样子:
剩下的就没啥了
(arduino的开源库真香哈哈)
创建Qt界面
随便找了一个别的例子,加了类进来测试,OK!