#include "stm8s.h"
u16 Cnt;
void TextCap (void)
{
GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_MODE_IN_PU_NO_IT);
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_16, 1000);
TIM2_ICInit(TIM2_CHANNEL_3, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV1, 0x00);
TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);
TIM2_ITConfig(TIM2_IT_CC3, ENABLE);
TIM2_ClearITPendingBit(TIM2_IT_UPDATE);
TIM2_ClearITPendingBit(TIM2_IT_CC3);
TIM2_CCxCmd(TIM2_CHANNEL_3, ENABLE);
TIM2_Cmd(ENABLE);
}
main()
{
TextCap();
enableInterrupts();
while (1){Cnt++;}
}
中断程序如下:
@far @interrupt void TIM2_Up_OverFlow(void)
{
TIM2_ClearFlag(TIM2_FLAG_UPDATE);
}
@far @interrupt void TIM2_Capture_IRQHandler(void)
{
TIM2_ClearFlag(TIM2_FLAG_CC3);
}
我怀疑是库的问题,可是我用的库是别人用过的,理应没问题啊,头疼.