kongan 发表于 2011-10-10 16:02:05

求助 定时器T2 1ms定时只要初始化系统就停止运行,也没报错。

补充,定时器裸跑运行正常。

ffxz 发表于 2011-10-10 18:01:55

用了这个定时器中断?

kongan 发表于 2011-10-10 18:24:08

kongan 发表于 2011-10-10 18:46:49

void TIM2_IRQHandler(void)
{
        rt_interrupt_enter();
        if ( TIM_GetITStatus(TIM2 , TIM_IT_Update) != RESET )
        {       
                if(TIM_FLAG==0)
                {
                       TDS_Control_A_SET
                        TDS_Control_B_CLE
                        TIM_FLAG=1;
                }
                else
                {
                       TDS_Control_B_SET
                        TDS_Control_A_CLE
                        TIM_FLAG=0;
                }

                //每一百毫秒采样一次,三路通道分开采样
                if(TIME_COUNT==(80+ADC1_TIME*100))
                {
                       ADC1_VAL=Get_Adc(0);
                }
                if(TIME_COUNT==(90+ADC2_TIME*100))
                {
                       ADC2_VAL=Get_Adc(1);
                }
                if(TIME_COUNT==(100+ADC3_TIME*100))
                {
                       ADC3_VAL=Get_Adc(3);
                }
                if(TIME_COUNT==1000)
                {
                        TIME_COUNT=0;
                        rtgui_server_post_event(&emouse.parent, sizeof(struct rtgui_event_mouse));
                }

                TIME_COUNT++;

                TIM_ClearITPendingBit(TIM2 , TIM_FLAG_Update);
        }
        rt_interrupt_leave();
}

aozima 发表于 2011-10-10 21:56:34

既然每一百毫秒采样一次,那么应该让让100ms发生一次中断,而不是中断100次后采集.

另外确认一下中断频率确实是1ms,防止过快造成一直在中断中.

kongan 发表于 2011-10-11 12:21:40

中断频率确实是1ms,1ms中断是为了改变I\O口电平。I\O口电平需要1ms改变一次。

haitao10086 发表于 2011-10-19 09:09:45

回复【5楼】kongan
-----------------------------------------------------------------------
同样也存在这个问题,不过我的采样中断频率更快一些,8KHz,只要打开Timer2中断,系统就会一直重启。

haitao10086 发表于 2011-10-19 09:23:28

回复【6楼】haitao10086
-----------------------------------------------------------------------

问题已经解决

32446975 发表于 2013-7-7 22:59:57

问题是怎么解决的?
页: [1]
查看完整版本: 求助 定时器T2 1ms定时只要初始化系统就停止运行,也没报错。