请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:BQ35100 主题中讨论的其他器件: EV2400
我们产品的部分 bq35100无法从完全访问模式切换到 UNSEALED 模式。 您能提供模式切换的一些示例代码吗?
bq35100始终处于完全访问模式(0、1完全访问)
尽管我们可以使用 EV2400+BQ Studio 进入 UNSEALED 模式、但 I2C 总线上的大量数据使其难以分析。

更糟糕的是、诸如0xAB 的某些地址在数据表上找不到相关定义。
我们的电流模式开关代码如下所示。 这些有什么明显的问题吗?
switch( security )
{
/*
#define BQ35100_DEFAULT_SEAL_CODES 0x04143672
#define BQ35100_CTRL_SEALED 0x0020
*/
case BQ35100_SECURITY_UNSEALED:
txbuffer[0] = 0x3E;
txbuffer[1] = ( uint8_t )( BQ35100_DEFAULT_SEAL_CODES >> 16 );
txbuffer[2] = ( uint8_t )( BQ35100_DEFAULT_SEAL_CODES >> 24 );
i2c_write( cfg->bus, txbuffer, 3, cfg->i2c_addr );
k_msleep( 100 );
txbuffer[0] = 0x3E;
txbuffer[1] = ( uint8_t )( BQ35100_DEFAULT_SEAL_CODES >> 0 );
txbuffer[2] = ( uint8_t )( BQ35100_DEFAULT_SEAL_CODES >> 8 );
i2c_write( cfg->bus, txbuffer, 3, cfg->i2c_addr );
k_msleep( 100 );
break;
case BQ35100_SECURITY_SEALED:
txbuffer[0] = 0x3E;
txbuffer[1] = ( uint8_t )( BQ35100_CTRL_SEALED >> 0 );
txbuffer[2] = ( uint8_t )( BQ35100_CTRL_SEALED >> 8 );
i2c_write( cfg->bus, txbuffer, 3, cfg->i2c_addr );
k_msleep( 100 );
break;
default:
return -EIO;
break;
}
我还提到了 slua801.pdf、但找不到与模式切换相关的代码。
我们仍然希望为我们提供一个示例代码。
感谢您发送编修。