找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 6859|回复: 5

[QCC3系列] QCC3005充电问题

[复制链接]
连续签到天数:1天
签到总天数:154天
签到总奖励:1539金币
发表于 2020-6-5 09:54:44 | 显示全部楼层 |阅读模式
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
连续签到天数:1天
签到总天数:154天
签到总奖励:1539金币
 楼主| 发表于 2020-6-9 15:16:51 | 显示全部楼层
顶一下
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:154天
签到总奖励:1539金币
 楼主| 发表于 2020-6-9 15:17:15 | 显示全部楼层
求大佬赐教!!!!!!!!!!!!!
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:154天
签到总奖励:1539金币
 楼主| 发表于 2020-6-9 16:45:38 | 显示全部楼层
附上外部充电代码
  1. /*
  2. Copyright (c) 2017 Qualcomm Technologies International, Ltd.
  3. */

  4. /*!
  5. @file
  6. @ingroup sink_app
  7. @brief
  8.     Module responsible for interfacing with SMB1352 battery charger
  9. ************************************************************************/

  10. #ifndef SINK_EXT_CHARGER_H
  11. #define SINK_EXT_CHARGER_H

  12. #define EXT_CHG_NUM_REGS (21)
  13. #define EXT_CHG_REG_STS_FLOAT_VOLTAGE (0x38)
  14. #define EXT_CHG_MASK_STS_FLOAT_VOLTAGE (0x3F)

  15. #define EXT_CHG_FLOAT_BASE_MILLIVOLTS (3500)
  16. #define EXT_CHG_FLOAT_STEP_MILLIVOLTS (20)

  17. #ifdef ENABLE_EXT_CHARGER

  18. void sinkExtChargerInit(void);
  19. uint16 sinkExtChargerReadFloatVoltage(void);

  20. #else /* not def ENABLE_EXT_CHARGER */

  21. #define sinkExtChargerInit() ((void) 0)
  22. #define sinkExtChargerReadFloatVoltage() ((uint16) 0)

  23. #endif /* def ENABLE_EXT_CHARGER */
  24. #endif /* def SINK_EXT_CHARGER_H */
复制代码




  1. /*
  2. Copyright (c) 2017 Qualcomm Technologies International, Ltd.
  3. */

  4. /*!
  5. @file
  6. @ingroup sink_app
  7. @brief
  8.     Module responsible for interfacing with SMB1352 battery charger
  9. ************************************************************************/

  10. #include <i2c.h>
  11. #include "sink_configmanager.h"
  12. #include "sink_debug.h"

  13. #ifdef ENABLE_EXT_CHARGER

  14. #include "sink_ext_charger.h"
  15. #include "sink_ext_charger_config_def.h"

  16. #ifdef DEBUG_EXT_CHG
  17. #define EXT_CHG_DEBUG(x) DEBUG(x)
  18. #else
  19. #define EXT_CHG_DEBUG(x)
  20. #endif

  21. #define EXT_CHG_REG_CMD_I2C (0x30)
  22. #define EXT_CHG_CMD_ENABLE_VOLATILE_WRITES (0x40)

  23. static uint8 ext_chg_i2c_address;

  24. /****************************************************************************
  25. NAME
  26.     reg_read

  27. DESCRIPTION
  28.     Read from a register on the external charger

  29. RETURNS
  30.     TRUE iff the read was successful
  31. */
  32. static bool reg_read(uint8 reg, uint8 *data)
  33. {
  34.     uint16 ack = I2cTransfer(ext_chg_i2c_address, &#174;, 1, data, 1);
  35.    
  36.     /* Expect addr + reg + addr + data (4 bytes) acknowledged */
  37.     if (ack == 4)
  38.     {
  39.         return TRUE;
  40.     }
  41.    
  42.     EXT_CHG_DEBUG(("ext_chg: reg read failed; addr=0x%02X len=%u\n", ext_chg_i2c_address, ack));
  43.     return FALSE;   
  44. }


  45. /****************************************************************************
  46. NAME
  47.     reg_write

  48. DESCRIPTION
  49.     Write to a register on the external charger

  50. RETURNS
  51.     TRUE iff the write was successful
  52. */
  53. static bool reg_write(uint8 reg, uint8 data)
  54. {
  55.     uint8 packet[2];
  56.     uint16 ack;
  57.    
  58.     packet[0] = reg;
  59.     packet[1] = data;
  60.     ack = I2cTransfer(ext_chg_i2c_address, packet, 2, NULL, 0);
  61.    
  62.     /*  Expect addr + reg + data (3 bytes) acknowledged */
  63.     if (ack == 3)
  64.     {
  65.         return TRUE;
  66.     }
  67.    
  68.     EXT_CHG_DEBUG(("ext_chg: reg write failed; addr=0x%02X len=%u\n", ext_chg_i2c_address, ack));
  69.     return FALSE;   
  70. }


  71. /****************************************************************************
  72. NAME
  73.     reg_write_enable

  74. DESCRIPTION
  75.     Enable / disable writes to the external charger configuration registers,
  76.     panic on failure

  77. RETURNS
  78.     void
  79. */
  80. static void reg_write_enable(bool enable)
  81. {
  82.     PanicFalse(reg_write(EXT_CHG_REG_CMD_I2C, enable ? EXT_CHG_CMD_ENABLE_VOLATILE_WRITES : 0));
  83. }


  84. /****************************************************************************
  85. NAME
  86.     sinkExtChargerInit

  87. DESCRIPTION
  88.     Initialise the external charger by writing the stored configuration,
  89.     panic on failure

  90. RETURNS
  91.     void
  92. */
  93. void sinkExtChargerInit(void)
  94. {
  95.     ext_charger_config_def_t *config;
  96.     uint16 size;
  97.    
  98.     size = configManagerGetReadOnlyConfig(EXT_CHARGER_CONFIG_BLK_ID, (const void **) &config);
  99.     EXT_CHG_DEBUG(("ext_chg: size=%u\n", size));
  100.     if (size)
  101.     {
  102.         uint16 reg;
  103.         
  104.         ext_chg_i2c_address = config->ext_charger_i2c;
  105.         
  106.         reg_write_enable(TRUE);
  107.         for (reg = 0; reg < EXT_CHG_NUM_REGS; ++reg)
  108.         {
  109.             PanicFalse(reg_write(reg, config->ext_charger_data[reg]));
  110.         }
  111.     }
  112.    
  113.     configManagerReleaseConfig(EXT_CHARGER_CONFIG_BLK_ID);
  114.     reg_write_enable(FALSE);
  115.    
  116.     EXT_CHG_DEBUG(("float %u mV\n", sinkExtChargerReadFloatVoltage()));
  117. }


  118. /****************************************************************************
  119. NAME
  120.     sinkExtChargerReadFloatVoltage

  121. DESCRIPTION
  122.     Read the float voltage from the external charger

  123. RETURNS
  124.     Float voltage in millivolts
  125. */
  126. uint16 sinkExtChargerReadFloatVoltage(void)
  127. {
  128.     uint8 data;
  129.    
  130.     PanicFalse(reg_read(EXT_CHG_REG_STS_FLOAT_VOLTAGE, &data));

  131.     return EXT_CHG_FLOAT_BASE_MILLIVOLTS + EXT_CHG_FLOAT_STEP_MILLIVOLTS * (data & EXT_CHG_MASK_STS_FLOAT_VOLTAGE);
  132. }

  133. #endif /* def ENABLE_EXT_CHARGER */
复制代码

积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:51天
签到总奖励:359金币
发表于 2020-12-22 15:04:59 | 显示全部楼层
楼主,可以交流一下充电问题吗
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:154天
签到总奖励:1539金币
 楼主| 发表于 2020-12-30 11:13:11 | 显示全部楼层
一起学高通芯片 发表于 2020-12-22 15:04
楼主,可以交流一下充电问题吗

我也是新手
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-27 06:58 , Processed in 0.285624 second(s), 19 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表