下面 是例程 请各位大侠 帮忙看看什么问题哈
unsigned int count1=0,count2=0,count7=0;
int stage=0 ;
void TIM4_Init ( void )
{
TIM4_PSCR = 0x06 ; //主时钟分频2~6 定时器时钟 125khz
TIM4_SR = 0 ; //中断标志位清零
TIM4_IER_bit.TIE = 1 ; //开定时器中断
TIM4_ARR = 125 ; //一个技术周期1ms
TIM4_CR1=0x01; //使能计数器
TIM4_CNTR = 125 ; //计数器初始值给125,目的是一开始
//计数就产生一次溢出从而产生更新
//时间来使预分频器的值启用
}
#pragma vector=TIM4_OVR_UIF_vector
__interrupt void TIM4_UPD_OVF_IRQHandler(void)
{
count1++;
TIM4_SR = 0 ; //中断标志位清零
if (count1==1000)
{
count7++;
count1 =0;
if(count7==60)
{
count2++;
count7=0;
if (count2<30) //第一阶段预充电 20A充电30分钟
{
stage=1;
}
if (30<count2<450) //第二阶段恒流充电 30A充电7小时
{
stage=2;
}
if (450<count2<570) //第三阶段恒压充电 2小时 电流逐渐下降到6A
{
stage=3;
}
if (570<count2<690) //浮充电2小时后关机
{
stage=4;
}
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
嗯 找到了 是TIM2 的 IER 配置错误 引起的
你不是TImer4吗,怎么Timer2的配置不对还有影响
REALTEK(瑞昱):
RTL8201F-VB-CG 4900/bag RTL8201CP-VD-LF 2500/bag
RTL8211EG-VB-CG 2600/bag RTL8306M-CG 2600/bag
RTL8309M-CG 1680/bag
TI(德州仪器)
MSP430F2131IPWR 2000/bag MSP430F248TPM 1000/bag
MSP430F247IPM 1000/bag MSP430F6723IPZ 1000/bag
MSP430F4793IPZR 1000/bag MSP430G2452IPW20
MSP430F4152IPMR MSP430FR2033IPMR
MSP430FR4133IPMR MSP430F2131IDWR
ST(意法半导体)
STM8L151G4U6 STM8S003F3P6
STM32F051R8T6 STM32F051K6U6
STM32F103VCT6 STM32F103RBT6
STM32F103VET6 STM32F103R8T6
STM32F103C8T6 STM32F030F4P6
STM32F407VET6 STM8L151G6U6TR
STM8S005K6T6CTR STM8L151C8T6
原厂原装正品 有需要的请联系QQ728378470
一周热门 更多>