关于从iic通信方式切换到hdq方式参考https://www.baidu.com/link?url=dWcpG30cNtU34LZ3m194tgwhFfLKF5Bu_YF8PJLjRj38vj91O-bKSZrREK-zx1oH8qUaLMuCakaRbYzRXojeMB62Tmc8GSsxO8nyyB52Ccu&wd=&eqid=92ca9b6a000a225f00000002626a598c
或者搜索关键字slua504a,指令切换方式如下:
也可以用自带的工具Battery Management Studio进行配置(硬件是EV2400),但是这个协议切换是单向的,即不能从hdq再切回iic
找到的网上介绍hdq比较多的是:blog.csdn.net/iteye_13254…
注意:
从上述文章中可以看出hdq协议是不带从设备地址的,所以应该不能挂载多个设备
低位在前发送
读写时地址占7位,读写单独占一位,在一帧的最后即是最高位
举例如下:从地址06 07里面读出25 09 数据
向16地址写入ff
目前遇到的问题:
1、在官方提供的drivers/power/supply/bq27xxx_battery_hdq.c程序中提到的#include <linux/w1.h>,文件w1.h去哪里找啊,因为我使用的不是linux,需要把文件w1.h中的hdq8相关的协议移植出来,但是找不到这个文件
2、另一个问题是假如移植完毕,例程是关于bq27000的,我需要配置什么才能和bq275xx进行通信?
3、例程中只有读函数,写函数有源文件吗?
问了ti的fae说不知道,让自己发帖
代码参考https://download.csdn.net/download/Fei_Yang_YF/85237125?spm=1001.2014.3001.5503
内部包含stm32、Arduino、linux等平台的hdq底层协议实现逻辑代码
及#include <linux/w1.h>中的单总线协议源代码和电池配置相关的hdq发送函数