void SEND_OF_PULSES(uint8 cnt)
{
uint8 iw = 0;
if ( cnt > 16 )//脉冲不能大于16
return;
for ( iw = 0; iw < cnt; iw ++ )
{
CTRL = 1;
Delay_nUS(THI);
CTRL = 0;
Delay_nUS(TLO);
}
CTRL = 0;
Delay_nUS(2000);//低电平延时超过2MS,以上脉冲即发出
}
void main()
{
CTRL = 0; //CTRL is pulled low to enable the device
Delay_nUS(5000); //5MS
//the IC enters the 32ms WAIT state
CTRL = 1; //0->1:Rising Edge is Detected
Delay_nUS(1500); //1.5MS
CTRL = 0; //1–>0:Falling Edge is Detected
//Increment Pulse Counter
Delay_nUS(1500); //Begin 1.5ms LATCH Timer
//Rising Edge is not Detected after 1.5ms LATCH Timer Expired
SEND_OF_PULSES( 11 ); //Send Pulse Counter Info to Decode Block
}
这个程序有错误么?我想设置成900ma的
Randy Wang:
你好
我觉得你还是实际把程序跑起来,然后测试CTRL管脚上的脉冲数,看看是不是11个了。另外这是什么应用,为何需要用这么负载的方式调节电流,如果充电不变或者只需要切换几个电流,可以直接用BQ24040做,会更保险。
JiaChuang Chen:
运行测试一下不就知道了啊。
wenzhong shen:
接上电路,用示波器测试以下程序,看看脉冲个数
user3917511:
程序运行有什么问题吗?有问题的话可以单步调试或者接上示波器调试的。。
ben wang:
回复 Randy Wang:
示波器当然看过了啦!!我的问题是为什么不起作用
user3917511:
回复 ben wang:
不起作用?程序在CCS上调试下,观察下寄存器的值有没有达到你的期望,。
JiaChuang Chen:
ben wang
这个程序有错误么?我想设置成900ma的
你现在的恒流电流是多少呢?没有输出还是达不到预期值?
ben wang:
回复 JiaChuang Chen:
和一上电的一样,好像是76ma,具体值要重新测试
ben wang:
回复 Randy Wang:
你说的这个IC支持哪几种适配器充电?我是否要另外设计适配器