標(biāo)題:
STM32F1與BQ4050的通訊源碼分享
[打印本頁(yè)]
作者:
電子小白111
時(shí)間:
2021-4-28 16:08
標(biāo)題:
STM32F1與BQ4050的通訊源碼分享
學(xué)習(xí)STM32的時(shí)候,應(yīng)用STM32F1與BQ4050做通訊,經(jīng)過(guò)各種調(diào)試,以及網(wǎng)上查找資料,IIC通訊等待應(yīng)答的時(shí)間需要拉長(zhǎng),IIC通訊的調(diào)試,通過(guò)示波器查看波形真的很重要
單片機(jī)源程序如下:
#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(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級(jí)分組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);
}
}
復(fù)制代碼
所有資料51hei提供下載:
BQ4050.7z
(184.45 KB, 下載次數(shù): 125)
2021-4-28 16:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
lxml
時(shí)間:
2021-12-14 14:28
感謝,可用
作者:
xuelijun0451325
時(shí)間:
2023-12-19 13:05
是否可以分享代碼呢? 另外BQ4050與BQ3060物理層是否一致?
作者:
xuelijun0451325
時(shí)間:
2023-12-19 13:06
BQ4050與BQ3060底層時(shí)序一致,命令地址不一致。
作者:
xuelijun0451325
時(shí)間:
2023-12-20 15:17
xuelijun0451325 發(fā)表于 2023-12-19 13:06
BQ4050與BQ3060底層時(shí)序一致,命令地址不一致。
你好,我用您的示例代碼,發(fā)現(xiàn)無(wú)法與BQ4050通訊。用邏輯分析儀發(fā)現(xiàn)是丟失了應(yīng)答信號(hào)。
作者:
yinqing452
時(shí)間:
2025-1-22 12:13
確認(rèn)可以用嗎?
作者:
yinqing452
時(shí)間:
2025-1-22 13:48
確實(shí)可以用,非常感謝,我弄了一周也沒(méi)有搞定。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1