- 博客(1017)
- 收藏
- 关注
原创 基于STM32L4XX、HAL库的MP2661GC-0000-Z充电芯片驱动程序设计
通过 I2C 接口,主机(如 STM32)可以配置充电参数(电流、电压)、读取状态(充电状态、输入状态、故障状态)和控制芯片(使能/禁用充电)。if(GPIO_Pin == GPIO_PIN_13) // 假设 INT 连接到 PB13。
2025-09-11 12:02:05
244
原创 基于STM32L4XX、HAL库的MP2664GG-0000-Z充电芯片驱动程序设计
define MP2664_I2C_ADDR (0x08 << 1) // HAL 库使用 8 位地址(左移一位)HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);// 设置 CHG_ENB 位 (bit4) 以禁用充电。// 读取当前 REG01 的值,避免修改其他位(如 EN_TIMER, FORCE_TERM)// 无输入电源,未充电。// 设置新的充电电流值。
2025-09-11 11:57:51
120
原创 基于STM32L4XX、HAL库的BQ25638YBGR充电芯片驱动程序设计
PA8 | GPIO_Input | 10 | STAT | 状态指示引脚(开漏输出),可连接中断或轮询 || PA9 | GPIO_Input | 9 | PG | Power Good 输出引脚,指示输入电源正常 || - | - | 16 | INT | 中断输出(开漏),可选连接至 STM32 的另一中断引脚 || PB6 | I2C1_SCL | 24 | SCL | I2C 时钟线,需接上拉电阻 || PB7 | I2C1_SDA | 23 | SDA | I2C 数据线,需接上拉电阻 |
2025-09-11 09:44:10
369
原创 基于STM32L4XX、HAL库的BQ25750RRVR充电芯片驱动程序设计
/ 中断 GPIO 端口 (可选)* @param ac_present: 指向结果的指针,1=存在,0=不存在。* @note 转换公式: REG = current_mA / 64。* @note 转换公式: REG = current_mA / 50。* @param int_pin: 中断 GPIO 引脚 (可为 0)* @note 转换公式: REG = voltage_mV / 4。// EN_LWPWR, IADPT_CTRL, 使能终止,使能定时器。
2025-09-11 09:39:44
86
原创 基于STM32L4XX、HAL库的MAX17320G20+充电芯片驱动程序设计
/ 简化: Current = signed_val * (156.25 / (sense_resistor * 1000)) * (1 / 1000)?// 再转换为 mA: I_mA = I * 1000 = (signed_val * 156.25e-3) / sense_resistor。// 所以电流 I = V / R = (signed_val * 156.25e-6) / sense_resistor。* @param current: 指向存储电流值(单位:mA)的变量的指针。
2025-09-11 09:29:44
89
原创 基于STM32L4XX、HAL库的MAX8971GEWP+T充电芯片驱动程序设计
define MAX8971_I2C_ADDR (0x6A << 1) // HAL 库使用 8 位地址(左移一位)#define MAX8971_CHG_VOLT_4V2 (0x07 << 4) // 典型值 4.2V。#include "stm32l4xx_hal.h" // 包含 HAL I2C 和 GPIO 的定义。// INT 引脚端口。
2025-09-11 09:25:55
167
原创 基于STM32L4XX、HAL库的BD2606MVV-E2充电芯片驱动程序设计
集成充电管理(预充、恒流、恒压)、充电状态指示、电池温度监控(NTC)、充电定时器、过压/过流/过热保护等。BD2606MVV-E2是ROHM公司的一款高性能单节锂离子/锂聚合物电池充电管理IC。:非常适合用于便携式设备、IoT设备等由STM32L4这类低功耗MCU管理的系统中。#include <math.h> // 仅用于NTC温度计算,如果不用可删除。#include "stm32l4xx_hal.h" // 包含HAL库定义。进行控制的IC,而非复杂的I2C或SPI器件。(待机/充电完成)引脚。
2025-09-11 09:22:18
473
原创 基于STM32L4XX、HAL库的MP2672GD-0000-Z充电芯片驱动程序设计
CHG_STAT_GPIO_Port, CHG_STAT_Pin, // 这些宏应由 CubeMX 生成在 main.h。
2025-09-09 12:51:06
348
原创 基于STM32L4XX、HAL库的BQ25713RSNR充电芯片驱动程序设计
define BQ25713_I2C_ADDR (0x6B << 1) // 7位地址为 0x6B,HAL库需要左移一位。// 示例:配置 CHARGE_OPTION_0 寄存器:使能充电,使能 ICO(输入电流优化)reg_data |= (EN_CHG_MASK | EN_ICO_MASK);
2025-09-09 12:46:35
179
原创 基于STM32L4XX、HAL库的MP2695GQ-0000-Z充电芯片驱动程序设计
define MP2695GQ_I2C_ADDR (0x08 << 1) // 7位地址为0x08,HAL库需要左移一位。// 公式:I_limit = 500mA / 50mA = 10 -> 0x0A。// 清除 CHG_EN 位。// 解析 status_reg 和 fault_reg 以获取更详细的信息。// 公式:I_term = 100mA / 50mA = 2 -> 0x02。
2025-09-09 12:42:37
52
原创 基于STM32L4XX、HAL库的BQ24160RGER充电芯片驱动程序设计
/ 处理 /PG 或 /FAULT 中断。// 可以检查 PART number (bit 7:4) 是否为 0x01 (BQ24160)// 计算并限制在 0x00 - 0xBF (3.504V - 4.704V) 范围内。// 计算并限制在 0x00 - 0x3F (64mA - 2624mA) 范围内。// /CHG 引脚为低电平时表示正在充电,高电平表示充电完成或未充电。
2025-09-09 12:37:15
335
原创 基于STM32L4XX、HAL库的BQ24155RGYR充电芯片驱动程序设计
/ PG 引脚端口 (可选)// 根据数据手册,充电电流 I_reg = (I_chg - 512) / 64。
2025-09-09 12:33:33
144
原创 基于STM32L4XX、HAL库的IP5209T充电芯片驱动程序设计
/ 例如 GPIO_PIN_0。// 如果使用外部上拉,模式可以改为 GPIO_MODE_INPUT,Pull = GPIO_NOPULL。IP5209T_STATUS_NOT_CHARGING, // 未充电(已充满或未接入电池/USB)
2025-09-05 13:59:29
166
原创 基于STM32L4XX、HAL库的BQ25618YFFR充电芯片驱动程序设计
define BQ25618_I2C_ADDR (0x6B << 1) // 7位地址为 0x6B,HAL库需要左移一位。// 例如:检查 (status0 & 0x30) 可以知道充电状态(充电中、充满、休眠等)// 可以检查 part_info 的值是否符合预期 (BQ25618 应该是 0x18)// if (status1 & (1 << 1)) { /* 处理热故障 */ }// if (status0 & (1 << 4)) { /* 充电完成 */ }// INT 引脚端口。
2025-09-05 13:54:41
63
原创 基于STM32L4XX、HAL库的BQ21061YFPR充电芯片驱动程序设计
BQ21061_STATUS_NOT_CHARGING = 0, // STAT = High-Z (上拉为高) -> 充电完成/未使能。BQ21061_STATUS_FAULT, // STAT = 持续低电平 -> 故障。BQ21061_STATUS_FAST_CHARGING, // STAT = 高频闪烁 -> 快充。if(current_stat == GPIO_PIN_RESET) // 变为低电平。// 这里返回 FAULT 只是一个示例。
2025-09-05 13:50:40
60
原创 基于STM32L4XX、HAL库的BQ25601DRTWR充电芯片驱动程序设计
/ if ((charger_status & 0x30) == 0x30) { /* 处理充电完成事件 */ }#define BQ25601_CHG_CURRENT_1024MA (0x14) // 充电电流 1024mA。#define BQ25601_INPUT_CURRENT_1000MA (0x0A) // 输入限流 1000mA。// if (fault_status & 0x01) { /* 处理热故障 */ }
2025-09-05 13:46:56
66
原创 基于STM32L4XX、HAL库的bq25703A充电芯片驱动程序设计
define BQ25703_I2C_ADDR (0x6B << 1) // 7位地址为0x6B,HAL库需要左移一位。* @note 计算公式:REG_VALUE = current_mA / 64。* @note 计算公式:REG_VALUE = current_mA / 50。* @note 计算公式:REG_VALUE = voltage_mV / 4。// STAT 引脚。
2025-09-05 13:42:05
103
原创 基于STM32L4XX、HAL库的BQ25756RRVR充电芯片驱动程序设计
if (charger_status & (1 << 11)) { // 检查 CHRG_STAT 位 (是否正在充电)if (charger_status & (1 << 10)) { // 检查 AC_STAT 位 (适配器是否连接)#define CHARGE_ENABLE (0x8000) // 充电使能位掩码。
2025-09-05 13:37:04
182
原创 基于STM32L4XX、HAL库的RT9471DGQW充电芯片驱动程序设计
rt9471_read_register(dev, RT9471_REG_CHG_CTRL4, &ctrl_reg)) { // 假设 CTRL4 控制电压。CHG_EN_GPIO_Port, CHG_EN_Pin, // 这些应在CubeMX中定义好。* @param chg_en_port, chg_en_pin: CHG_EN 引脚定义。
2025-09-03 09:58:12
143
原创 基于STM32L4XX、HAL库的PSC5415E充电芯片驱动程序设计
/ 如果INT引脚产生下降沿中断(在HAL_GPIO_EXTI_Callback中处理)// 则: reg_value = (current_ma - 300) / 50;// // 设置一个标志位,在主循环中处理,避免在中断内进行长时间的I2C操作。// 假设第0位是充电使能位。
2025-09-03 09:53:20
63
原创 基于STM32L4XX、HAL库的MP2667GG-0000-Z充电芯片驱动程序设计
/ 需要在外部GPIO中断中调用。#define MP2667GG_I2C_ADDR (0x4B << 1) // HAL库使用7位地址左移1位。#define MP2667GG_REG_NTC_STAT 0x07 // NTC状态寄存器。#define MP2667GG_REG_FAULT_STAT 0x05 // 故障状态寄存器。#define MP2667GG_REG_CHG_STAT 0x06 // 充电状态寄存器。// 清除CHG_EN位。
2025-09-03 09:48:48
76
原创 基于STM32L4XX、HAL库的MP2731GQC-0001-Z充电芯片驱动程序设计
/ 例如:MP2731_WriteRegister(hmp, MP2731_REG_CHG_CTRL0, 0xXX);| 其他 (VIN, BAT, etc) | | | 功率路径部分,按数据手册典型应用连接,与MCU软件无关。(e.g., PB6, PB8) | I2C时钟线,需要接上拉电阻(通常4.7kΩ-10kΩ) |(e.g., PB7, PB9) | I2C数据线,需要接上拉电阻(通常4.7kΩ-10kΩ) |ctrl5_val |= ((vreg >> 8) & 0x01);
2025-09-03 09:44:29
55
原创 基于STM32L4XX、HAL库的BQ25628RYKR充电芯片驱动程序设计
/ if (flag_reg & (1 << ...)) { ... } // 检查是否是充电完成中断。// if (flag_reg & (1 << ...)) { ... } // 检查是否是输入过压中断。#define BQ25628_STAT_CHG_MASK (0x03 << 3) // 充电状态位。
2025-09-03 09:40:52
106
原创 基于STM32L4XX、HAL库的BQ25620RYKR充电芯片驱动程序设计
define BQ25620_I2C_ADDR (0x6B << 1) // 7位地址左移1位,HAL库要求。#define BQ25620_BAT_LOAD_ENABLE (0x01 << 7) // 使能 BAT 给 SYS 供电。#define BQ25620_STAT_CHG_MASK (0x03 << 4) // 充电状态位掩码。#define BQ25620_CHG_ENABLE (0x01 << 6) // 使能充电。
2025-09-03 09:33:00
69
原创 基于STM32L4XX、HAL库的BQ25619RTWR充电芯片驱动程序设计
集成 ADC 用于监控电压/电流/温度,支持 JEITA 标准,集成 USB On-The-Go (OTG) 升压输出(最高 5.15V,最大 1.2A)。// 例:使能 ADC,连续转换。#define BQ25619_I2C_ADDR (0x6B << 1) // HAL 库要求左移一位。// 例如读取 ADC_VBUS_V, ADC_IBAT, ADC_VBAT 等。
2025-09-03 09:28:01
96
原创 基于STM32L4XX、HAL库的BQ25601RTWR充电芯片驱动程序设计
/ if (fault_status & (1 << x)) { ... } // 检查看门狗故障、过热故障、输入过压等。#define BQ25601_I2C_ADDR (0x6B << 1) // 7位地址为0x6B,HAL库需要左移一位。// 可以检查 part_info 的值是否符合预期 (BQ25601的PART_INFO应该是某个固定值)
2025-09-03 09:22:42
77
原创 基于STM32L4XX、HAL库的AW32001ECSR充电芯片驱动程序设计
AW32001_CHARGE_STATUS_NO_BATTERY, // 可能未接电池 (CHG = HIGH, 但通常需要其他判断)AW32001_CHARGE_STATUS_FULL, // 充电完成/未充电 (CHG = HIGH)/* 注意:GPIO的时钟初始化(__HAL_RCC_GPIOC_CLK_ENABLE())应在主函数中提前完成 */AW32001_CHARGE_STATUS_CHARGING, // 正在充电 (CHG = LOW)
2025-09-03 09:18:38
308
原创 基于STM32L4XX、HAL库的BQ25792RQMR充电芯片驱动程序设计
BQ25792_OK) { // 读取 PART_Info 寄存器。// 设置充电电压为 4200mV (4.2V)HAL_GPIO_WritePin(hbq->ce_port, hbq->ce_pin, GPIO_PIN_SET);// 最大值计算: (19200 - 1024) / 16 = 1136, 寄存器是11位,最大值2047。// 方法2:通过寄存器位软件控制 (CHARGE_OPTION_0, bit EN_CHG)uint16_t reg_val = (ma + 32) / 64;
2025-09-03 09:14:23
100
原创 基于STM32L4XX、HAL库的BQ25895RTWR 充电芯片驱动程序设计
/ 设置 REG05 的 VREG[7:6] bits (高2位在 BIT1:0)// ... (这里可以添加详细的寄存器位定义,例如 REG00 的 EN_HIZ 位等)// 计算公式: VREG = (voltage_mv - 3840) / 16。// 使能充电 EN_CHG。
2025-09-02 14:57:36
83
原创 基于STM32L4XX、HAL库的BQ24773RUYR充电芯片驱动程序设计
@param options: 选项位的组合 (e.g., BQ24773_OPT0_LEARN_EN | ...)uint16_t reg_value = current_mA / 128;// 根据数据手册转换。* @param hbq: 指向 BQ24773_HandleTypeDef 结构的指针。
2025-09-02 14:52:17
67
原创 基于STM32L4XX、HAL库的BQ25672RQMR充电芯片驱动程序设计
一、简介:BQ25672 是德州仪器 (TI) 推出的一款高度集成的开关电池充电管理和系统电源路径管理器件,适用于单节锂离子或锂聚合物电池。主要特性:充电管理:支持最大 3A 充电电流,支持 JEITA 标准,支持温度监控、输入电流/电压限制 (VINDPM, IINDPM)。电源路径管理 (Power Path):支持 BATFET 控制,可实现 ship-mode 和真正关断,支持 OTG 模式(升压输出 5V@1.2A)。I2C 接口:通过 I2C 接口可配置充电参数、读取状态和故障寄存器。高集成度:
2025-09-02 14:47:46
106
原创 基于STM32L4XX、HAL库的IP2315充电芯片驱动程序设计
/ 需要根据ISET公式计算。// 计算电流: I_chg = (V_ISET / R_ISET) * 1000。IP2315_STATUS_FULL, // 充电完成。IP2315_STATUS_TEMP_FAULT, // 温度故障。IP2315_STATUS_ERROR // 读取错误。
2025-09-02 14:42:35
482
原创 基于STM32L4XX、HAL库的RT9471充电芯片驱动程序设计
define RT9471_I2C_ADDR (0x53 << 1) // HAL库要求7位地址左移1位。#define RT9471_VREG_OFFSET 3840 // 起始电压3840mV。
2025-09-02 14:37:57
216
原创 基于STM32L4XX、HAL库的DL-LLCC68-S-915S LoRa模块驱动程序设计
/ 编码率 (1: 4/5, 2: 4/6, 3: 4/7, 4: 4/8)uint8_t pa_config[4] = { 0x04, 0x07, 0x00, 0x01 };// NRESET GPIO端口。// NRESET GPIO引脚。// 0: 显式, 1: 隐式。
2025-09-01 10:11:07
70
原创 基于STM32L4XX、HAL库的RAK3172-T-9-SM-I LoRa模块驱动程序设计
/ 需要在 stm32l4xx_it.c 的 USARTx_IRQHandler 中调用 RAK3172_UART_RxCpltCallback(&huart2)| GPIO Output | 硬件复位引脚(低电平有效) | 可选,也可通过软件 AT 命令复位 || GPIO Output | 唤醒引脚(低电平有效) | 可选,用于低功耗管理 |// ============ 应用层 AT 命令封装示例 ============// 简化处理:假设返回格式为 +VER: x.x.x\r\nOK\r\n。
2025-09-01 10:06:13
65
原创 基于STM32L4XX、HAL库的AD7124-8BCPZ模数转换器ADC驱动程序设计
/ 公式: Voltage = (adc_value / (2^23 - 1)) * Vref。// 模式控制位[7:5]=000 (连续转换模式)// 3.2 配置通道0,使其使用AIN0(+)和AIN1(-),并关联到配置0和滤波器0。= 0x14) { // AD7124-8的ID是0x14。// 双极性操作,缓冲AINP/AINN。
2025-09-01 10:01:58
136
原创 基于STM32L4XX、HAL库的ADS1232IPWR模数转换器ADC驱动程序设计
/ 实际测试中,Mode 1 (SPI_POLARITY_LOW, SPI_PHASE_2EDGE) 可能更合适。
2025-09-01 09:57:51
78
原创 基于STM32L4XX、HAL库的ADS1015IDGSR模数转换器ADC驱动程序设计
define ADS1015_MUX_DIFF_0_1 (0x0000) // AINP = AIN0, AINN = AIN1 (默认)// 对于12位,最大值是2047 (0x7FF),对应正满量程(FSR),最小值是-2048 (0x800),对应负满量程(-FSR)#define ADS1015_PGA_2_048V (0x0400) // ±2.048V Range (默认)ADS1015_PGA_2_048V | // ±2.048V范围。
2025-09-01 09:53:53
62
【机器人导航领域】基于ROS的单目SLAM方法对比分析:室内环境下移动机器人视觉定位与建图系统评估了四种最新的基于
2025-04-28
【机器人技术】四驱ROS机器人SLAM学习平台:自动驾驶与深度学习科研验证系统设计
2025-04-28
【机器人操作系统ROS】SLAM技术介绍:移动机器人同步定位与地图构建基础及应用
2025-04-28
操作系统CentOS安装与配置指南:从基础安装到桌面环境部署及开发工具安装
2025-04-27
【机械设计自动化】SOLIDWORKS 2023教程:3D实体建模用户界面与命令管理器操作指南
2025-04-23
ESP32-WROVER-E & ESP32-WROVER-IE 数据手册总结
2025-04-25
ESP32-C3-WROOM-02 & ESP32-C3-WROOM-02U 技术规格书 v1.5 概述. 模组
2025-04-25
【嵌入式开发】ESP32微控制器MicroPython与mruby安装配置指南:从环境搭建到基础功能实现了文档的主要内容
2025-04-25
电子工程Proteus Professional(ISIS & ARES)软件介绍与应用:电子电路设计与仿真系统教程
2025-04-24
### 【电子编程设备】基于PROTEUS系统的通用器件编程器用户手册解析:硬件与软件操作指南
2025-04-24
电子工程基于Proteus的CAO实践教学:电路原理图绘制、仿真与PCB布线操作指南了给定的
2025-04-24
这篇文章详细介绍了SOLIDWORKS仿真工具在现代设计和制造流程中的应用与优势 主要内容包括:
2025-04-23
【SOLIDWORKS 2022增强功能】提高设计效率与协作能力:优化产品开发流程的新特性及应用
2025-04-23
SOLIDWORKS Teacher Manual R3.pdf【机械设计自动化】SOLIDWORKS基础培训手册:涵盖3D建模、装配体创建及工程图绘制详细步骤与技巧
2025-04-22
这篇文章是关于SOLIDWORKS软件的入门介绍,涵盖了从基础概念到具体应用的详细内容 以下是文章的主要总结:
2025-04-22
full-multisim-14.pdf这篇文章是关于Multisim 14.0软件的完整组件库列表
2025-04-21
电子工程基于Multisim的电路实验教程:涵盖LED电路、滤波整流器及运放放大器的设计与仿真
2025-04-21
【传感器技术】基于Modbus协议的倾角传感器通信与调试:角度测量及数据交互系统设计了文档的主要内容
2025-08-20
【大数据实时处理】Apache Kafka原理与架构详解:消息队列系统的核心概念与工作机制
2025-08-20
【大数据技术】Kafka分布式日志系统原理与技术详解:消息传输、存储及高可靠性设计Kafka作为一种分布式
2025-08-20
### 深度学习卷积神经网络的核心原理与应用:图像处理中的特征提取与优化
2025-05-08
【深度学习领域】卷积神经网络CNN原理详解及其在图像处理中的应用:从基础结构到多层卷积与经典网络结构分析
2025-05-08
【医学影像领域】基于人工智能的医学影像处理与分析:技术进展、挑战及未来展望
2025-05-07
【智慧电力领域】基于AI视频分析的电力行业智能化监管解决方案:算法算力平台一体化加速行业升级
2025-05-07
【医学影像领域】人工智能与医学影像结合的前景与挑战:提升医生工作效率与精准医疗的潜力分析
2025-05-07
【深度强化学习】基于DQN及变种算法的智能决策系统设计:强化学习在复杂环境下的应用与优化了文档的主要内容
2025-05-09
【强化学习领域】强化学习算法分类综述:基于模型与无模型、价值与策略方法及应用场景分析
2025-05-09
深度学习卷积神经网络CNN:图像处理与特征自动提取的多层感知机设计及其优势分析
2025-05-08
LearningOpenCV-1-2.pdf
2025-05-06
【计算机视觉】OpenCV图像处理与视频分析课程:从基础操作到深度学习的应用实践系统介绍了文档的主要领域
2025-05-06
opencv24-python-tutorials-readthedocs-io-en-stable.pdf
2025-05-06
【数据库管理工具】dBeaver界面与代码格式设置:外观、布局及工具栏自定义配置指南
2025-04-30
【数据库管理】DBeaver安装与SinoDB连接配置:SQL管理工具详细使用指南
2025-04-30
电子工程基于ISIS-Proteus的电路设计与仿真:组件选择、布局及信号发生器配置教程
2025-04-29
【电子电路设计】基于Proteus的PCB设计指南:从启动到创建电路板的详细步骤说明
2025-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅