STM8-Discovery评估板测试中断,求助!
本帖最后由 iflytech 于 2017-5-16 15:10 编辑测试条件:
MB915B(STM8-Discovery评估板,STM8L152C6)一块,将显示面板拿下,其他跳线保持出厂设置不变。
根据评估板原理,设置UCS及TIM4使能:
CLK_RTCCLKSwitchOnLSEFailureEnable();
CLK_LSEClockSecuritySystemEnable();
CLK_RTCClockConfig(CLK_RTCCLKSource_LSE,CLK_RTCCLKDiv_1);
CLK_PeripheralClockConfig(CLK_Peripheral_TIM4,ENABLE);初始化IO口,PC7、PE7为发光二极管控制脚,PC1为User按键,PD2设置为外部中断管理,准备检测频率。代码如下:
GPIO_Init(GPIOC,GPIO_Pin_7,GPIO_Mode_Out_PP_Low_Fast);
GPIO_Init(GPIOE,GPIO_Pin_7,GPIO_Mode_Out_PP_Low_Fast);TIM4定义如下,1秒间隔:
TIM4_TimeBaseInit(TIM4_Prescaler_4096,244);
TIM4_ARRPreloadConfig(ENABLE);
TIM4_UpdateDisableConfig(DISABLE);
TIM4_ITConfig(TIM4_IT_Update,ENABLE);
TIM4_ClearFlag(TIM4_FLAG_Update);
enableInterrupts();
TIM4_Cmd(ENABLE);中断函数处理:
INTERRUPT_HANDLER(EXTI1_IRQHandler, 9)
{
boolButtonFlg=TRUE;
EXTI_ClearITPendingBit(EXTI_IT_Pin1);
}
INTERRUPT_HANDLER(EXTI2_IRQHandler, 10)
{
if(boolMeasureFlg) lColorValue++;
EXTI_ClearITPendingBit(EXTI_IT_Pin2);
}中断中仅设置变量标志位。
测试问题:
在管脚全悬空状态下,ST-LINK仿真时,一运行到enableInterrupts();处就一直在INTERRUPT_HANDLER(EXTI2_IRQHandler, 10)中断里运行,根本就不退出。将PD2接GND或3.3V亦然。
将PD2定义的三行代码屏蔽,就正常了。但这样就没外部中断响应,肯定是不行的。
请高人指点!
肯定是配置问题,你的代码也不全 肯定是配置问题,你的代码也不全 搞定了,初始化
页:
[1]