码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MAX17058_MAX17059 STM32 iic 驱动设计


    本文采用资源下载链接,含完整工程代码

    MAX17058-MAX17059STM32iic驱动设计内含有代码、详细设计过程文档,实际项目中使用代码,稳定可靠资源-CSDN文库

    简介

    MAX17058/MAX17059 IC是微小的锂离子(Li +)在手持和便携式设备的电池电量计。MAX17058工作在单节Li +电池和两节Li +在一系列MAX17059。插入电池,IC的去抖初始电压测量,以提高初始SOC估计,让他们在位于系统侧。SOC和电压的信息访问,使用I2C接口。该集成电路可在一个微小的0.9毫米x1.7毫米,8焊球晶片级封装(WLP)或采用2mm×2mm的8引脚TDFN封装。

    数据手册中相关的关键信息如下:

    典型用法

    寄存器一览表

     

    器件地址

      IIC时序

     

    硬件设计

    但对于MCU只需要连接IIC的两个管脚即可,也可以将低电量报警管脚使用起来,实际使用项目没有使用,这里连接STMF107RC PB10 PB11

    这里根据实际要调试的板子进行设计,一般需要逐步保证电源、调试接口、MCU与MAX17058/MAX17059连接线正确(千万注意不要时钟和数据线接反了)。

    软件设计

    管脚定义

    管脚配置的宏定义如下:

    1. #define MAX17058_SDA_PIN GPIO_Pin_11 /* PB.11 */
    2. #define MAX17058_SDA_GPIO_PORT GPIOB /* GPIOB */
    3. #define MAX17058_SDA_GPIO_CLK RCC_APB2Periph_GPIOB
    4. #define MAX17058_SCL_PIN GPIO_Pin_10 /* PB.10 */
    5. #define MAX17058_SCL_GPIO_PORT GPIOB /* GPIOB */
    6. #define MAX17058_SCL_GPIO_CLK RCC_APB2Periph_GPIOB

     管脚初始化

    很多攻城狮使用IIC读取读取器件时候,非常喜欢使用IO模拟的方式。对初始化IIC使用管脚的初始化主要有两类

    一类:将SDA、SCL初始化为GPIO_Mode_Out_OD(普通开漏输出),后面操作IIC管脚时序的时候,就不需要配置SDA的输入输出模式了。

    一类:将SDA、SCL初始化为GPIO_Mode_Out_PP(通用推免输出),后面操作IIC管脚时序的时候,就需要配置SDA的输入输出模式。

    这两种方式我都使用过,也都可以使用。这里采用第一类做法

    1. GPIO_InitTypeDef GPIO_InitStructure;
    2. RCC_APB2PeriphClockCmd(MAX17058_SDA_GPIO_CLK, ENABLE);
    3. GPIO_InitStructure.GPIO_Pin = MAX17058_SDA_PIN | MAX17058_SCL_PIN;
    4. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
    5. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    6. GPIO_Init(MAX17058_SDA_GPIO_PORT, &GPIO_InitStructure);

     调试方法

    一般iic调试过程,会去读器件ID/版本号之类的保证和手册上说的值一样,这样我们初步判定IIC时序没有问题,这里我们读取

    我这里实际读取值是0x0012,应该是每个批次芯片的版本寄存器设置还不太一样,不过每次读取都是0x0012也说明IIC通信没有问题。

    类似电量检测芯片,还可以读取电池电压,然后对比用万用表测量出来的电压,如果一致,则说明IIC通信正确。

    主函数

    1. /******************************************************************************
    2. * 函数名称: main
    3. * 功能描述: 测试max1705x电量电压读取
    4. * 输入参数: 无
    5. * 输出参数: 无
    6. * 返 回 值: 无
    7. * 其它说明:
    8. * 修改日期 版本号 修改人 修改内容
    9. * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    10. * 2013/02/22 V1.0.0.0
    11. ******************************************************************************/
    12. INT32S main (void)
    13. {
    14. unsigned int soc, vcel, i;
    15. BSP_Init(); // 系统初始化
    16. while(1)//测试读写max1705x
    17. {
    18. if(max17058_read_reg(MAX17058_SOC_ADRR, &soc) != I2C_R_BIT_SUCCESS)//电量读取
    19. {
    20. //IIC读错误
    21. }
    22. if(max17058_read_reg(MAX17058_VCELL_ADRR, &vcel) != I2C_R_BIT_SUCCESS)//电压读取
    23. {
    24. //IIC读错误
    25. }
    26. if(max17058_read_reg(MAX17058_VERSION_ADDR, &vcel) != I2C_R_BIT_SUCCESS)//版本读取
    27. {
    28. //IIC读错误
    29. }
    30. i = 10000;
    31. while (i != 0){
    32. i--;
    33. }
    34. }
    35. return (0);
    36. }

    本文采用资源下载链接,含完整工程代码

    MAX17058-MAX17059STM32iic驱动设计内含有代码、详细设计过程文档,实际项目中使用代码,稳定可靠资源-CSDN文库 

  • 相关阅读:
    微软真是活菩萨,面向初学者的机器学习、数据科学、AI、LLM课程统统免费
    【最优化方法】实验四 约束最优化方法的MATLAB实现
    10.11作业
    包载信使mRNA的多西环素纳米脂质体|雷公藤红素纳米脂质体RNA核糖核酸(实验原理)
    电脑如何查找重复文件?轻松揪出它!
    时钟树综合(一)
    一文教你学会使用Cron表达式定时备份MySQL数据库
    100天精通Python(数据分析篇)——第53天:初始pandas模块
    JIT内存逃逸分析
    【笔记】centos7 python2.7.5安装paramiko
  • 原文地址:https://blog.csdn.net/li171049/article/details/133741997
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号