[其他ST产品] 帮忙看下这段程序哪里问题

[复制链接]
4413|8
 楼主| pp99sky 发表于 2007-1-4 15:10 | 显示全部楼层 |阅读模式
这个程序运行到EIC_IRQConfig( ENABLE );就不执行了,屏蔽掉可继续执行,但不能中断了,不知道是哪里出错了?还请指教。

         LCD_Init();
    AD_Init();

    TIM_Init(TIM0);
    EIC_Init();

    TIM_PrescalerConfig(TIM0, 0x0);
    TIM_ITConfig(TIM0, TIM_TO_IT, ENABLE);
    TIM_OCMPModeConfig(TIM0, TIM_CHANNEL_A, 0x01, TIM_TIMING, TIM_HIGH);
     TIM_CounterConfig(TIM0, TIM_STOP);
     TIM_CounterConfig(TIM0, TIM_CLEAR);
    
    EIC_IRQChannelPriorityConfig( T0TIMI_IRQChannel,2);
     EIC_IRQChannelConfig( T0TIMI_IRQChannel, ENABLE ); 
     GPIO_Config(GPIO0,0X0040,GPIO_IN_TRI_TTL);
    
         XTI_Init();          
     XTI_LineModeConfig(XTI_Line11, XTI_FallingEdge);      XTI_LineConfig(XTI_Line11, ENABLE);   
     XTI_ModeConfig(XTI_Interrupt, ENABLE);            
    EIC_IRQChannelPriorityConfig(XTI_IRQChannel,3);      EIC_IRQChannelConfig(XTI_IRQChannel,ENABLE);      //EIC_IRQConfig( ENABLE );       
ST_ARM 发表于 2007-1-4 16:45 | 显示全部楼层

去掉EIC_Init();

 楼主| pp99sky 发表于 2007-1-4 16:49 | 显示全部楼层

去掉也是那样,走到EIC_IRQConfig( ENABLE ); 就停了

em_fsd 发表于 2007-1-4 21:24 | 显示全部楼层

是不是不停地进中断啊?中断后标志没清?

 楼主| pp99sky 发表于 2007-1-5 09:38 | 显示全部楼层

是一直在中断,我再找找原因

ST_ARM 发表于 2007-1-5 12:55 | 显示全部楼层

这段代码没有什么问题

估计问题在其他地方。从这段代码中发现不了。说说你的调试流程。
 楼主| pp99sky 发表于 2007-1-5 14:23 | 显示全部楼层

好象程序运行的速度慢,中断间隔比较短,外部中断没有执

再问下,随时打开和关闭定时器是不是用这个函数,EIC_IRQChannelConfig( T0TIMI_IRQChannel, ENABLE );别的好象不太好使。
还有就是我只用定时器中断时,还是这个时间间隔,假如我中断10次用上面函数关掉,在主程序中再打开,可以操作。但当我在定时中断程序中多加了几行代码,再进行操作时只完成一次循环,比如10次,主程序再打开定时期也不再执行。
二分频主频,如下配置,时间应该是多少。
 TIM_PrescalerConfig(TIM0, 0x0);

TIM_AddOCMPCounterValue(TIM0, 3780);
ST_ARM 发表于 2007-1-8 11:02 | 显示全部楼层

要看你的系统时钟的频率

TIM_PrescalerConfig(TIM0, 0x0); ---这个是一分频,二分频应为0x01

TIM_AddOCMPCounterValue(TIM0, 3780);---3780是每次中断的定时器内部时钟的脉冲个数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

43

帖子

0

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