标题:
STM32F1与BQ4050的通讯源码分享
[打印本页]
作者:
电子小白111
时间:
2021-4-28 16:08
标题:
STM32F1与BQ4050的通讯源码分享
学习STM32的时候,应用STM32F1与BQ4050做通讯,经过各种调试,以及网上查找资料,IIC通讯等待应答的时间需要拉长,IIC通讯的调试,通过示波器查看波形真的很重要
单片机源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "myiic.h"
#include "key.h"
//#define BQ4050_REG_TEMP 0x08 //Temperature U2
//#define BQ4050_REG_VOLT 0x09 //Voltage U2#define BQ4050_REG_CURRENT 0x0A //CURRENT I2
//#define BQ4050_REG_RSOC 0x0D //RelativeStateOfCharge U1
//#define BQ4050_REG_FCC 0x10 //FullChargeCapacity U2
//#define BQ4050_REG_RTE 0x11 //run time to empty
//#define BQ4050_REG_TTE 0x12 //TimeToEmpty U2
//#define BQ4050_REG_TTF 0x13 //TimeToFull U2
//#define BQ4050_REG_RMC 0x0F ///* Remaining Capacity */
u8 DLHR_DATA[2] = {0x00};
u8 buff[4] = {0x00};
uint16_t Read_BQ4050(uint8_t Commond)
{
uint16_t data=0,data1=0;
u8 I2c_Address = 0x16;
//u8 Read_Commond = 0x09;
IIC_Start();
IIC_Send_Byte(I2c_Address);//write
IIC_Wait_Ack();
IIC_Send_Byte(Commond);//
IIC_Wait_Ack();
IIC_Start();
IIC_Send_Byte((I2c_Address)+1);//read
IIC_Wait_Ack();
data = IIC_Read_Byte(1);//STATUS[7:0]
data1 = IIC_Read_Byte(0);//PRESSURE[23:16]
IIC_Stop();
data=data|data1<<8;
return data;
}
int main(void)
{
u8 t=0;
u8 d=0;
uint16_t data1=0,data2=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init();
IIC_Init();
while(1)
{
//data=Read_BQ4050(0x09)&0x7fff;
data1=Read_BQ4050(0x09);
data2=Read_BQ4050(0x0d);
delay_ms(300);
printf("val= %d\r\n",data1);
printf("Cap= %d\r\n",data2);
GPIO_ResetBits(GPIOA,GPIO_Pin_8);
}
}
复制代码
所有资料51hei提供下载:
BQ4050.7z
(184.45 KB, 下载次数: 125)
2021-4-28 16:17 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
lxml
时间:
2021-12-14 14:28
感谢,可用
作者:
xuelijun0451325
时间:
2023-12-19 13:05
是否可以分享代码呢? 另外BQ4050与BQ3060物理层是否一致?
作者:
xuelijun0451325
时间:
2023-12-19 13:06
BQ4050与BQ3060底层时序一致,命令地址不一致。
作者:
xuelijun0451325
时间:
2023-12-20 15:17
xuelijun0451325 发表于 2023-12-19 13:06
BQ4050与BQ3060底层时序一致,命令地址不一致。
你好,我用您的示例代码,发现无法与BQ4050通讯。用逻辑分析仪发现是丢失了应答信号。
作者:
yinqing452
时间:
2025-1-22 12:13
确认可以用吗?
作者:
yinqing452
时间:
2025-1-22 13:48
确实可以用,非常感谢,我弄了一周也没有搞定。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1