[技术求助] 我使用BQ76PL536这个芯片做电池管理,遇到下面的问题

[复制链接]
 楼主| hu201306 发表于 2017-5-4 10:28 | 显示全部楼层 |阅读模式
bq76pl536这个芯片,我启用了TS1过热保护,然后相应的标志位被置位了,然后温度降下去了,我就去清除这个过热标志位,先给ALERT_STATUS这个寄存器的TS1位写1,然后再写一个0,但是这样清不了这个过热标志,怎么破
 楼主| hu201306 发表于 2017-5-4 15:26 | 显示全部楼层
ReadMessage(DEV_A,ADD_DEVICE_STATUS);         //¶Ádevice_status״̬  
                   value_dev5=readbuf[3];                    //´æÈëvalue_dev£¬¾Ö²¿±äÁ¿
                   value_dev5 |= 0x20;
                   chip.DEVICE_STATUS=value_dev5;
                   SendMessage(DEV_A,ADD_DEVICE_STATUS);        //д1
                   value_dev5 &= 0xDF;
                   chip.DEVICE_STATUS=value_dev5;
                   SendMessage(DEV_A,ADD_DEVICE_STATUS);        //д0
                  
                   //2.¶Ôalert_status¼Ä´æÆ÷²Ù×÷
                   ReadMessage(DEV_A,ADD_ALERT_STATUS);         //¶Áalert_status״̬            
                   value_dev5=readbuf[3];       
                   chip.ALERT_STATUS=value_dev5;               
                   SendMessage(DEV_A,ADD_ALERT_STATUS);            //½ÓÊÕµ½µÄÖµ£¬Ôٴη¢Ë͸øalert_status¼Ä´æÆ÷             
                   chip.ALERT_STATUS &= 0x00;       
                   SendMessage(DEV_A,ADD_ALERT_STATUS);            //д0£¬·¢Ë͸øalert_status¼Ä´æÆ÷       
 楼主| hu201306 发表于 2017-5-4 15:26 | 显示全部楼层
就是这么清除的,官方的历程好像也是这么清除的,但是现在的问题但是清除不了这个过热标志位
airwill 发表于 2017-5-6 06:57 | 显示全部楼层
由于这个标志是由硬件置位的, 如果条件还在, 那么这个标志就清除不了, 因为清除了也好马上由硬件再次置位
请留意一下
 楼主| hu201306 发表于 2017-5-8 08:55 | 显示全部楼层
airwill 发表于 2017-5-6 06:57
由于这个标志是由硬件置位的, 如果条件还在, 那么这个标志就清除不了, 因为清除了也好马上由硬件再次置位
...

温度我设置的是40度,到了40度就标志位置一,但是温度降到室温,这个时候标志位还是清除不了
airwill 发表于 2017-5-8 10:05 | 显示全部楼层
那就要找找, 这个清除问题了. 读下内部其他寄存器的状态研究一下问题原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

39

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

3

主题

39

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部