我来提供一个ICAP来实现外部边沿触发功能的Demo程序. 请ST技术高手看看有什么问题,呵呵. 得到了ST技术人员很多帮助,实在是感谢,尤其是他们那边的姚**.
void TIM_InitConfig(void) { EIC_IRQChannelConfig(T2TIMI_IRQChannel, ENABLE); //debug EIC_IRQChannelPriorityConfig(T2TIMI_IRQChannel, 1); //debug TIM_ICAPModeConfig(TIM2,TIM_CHANNEL_A,TIM_RISING); TIM_ITConfig(TIM2,TIM_ICA_IT,ENABLE); }
void T2TIMI_IRQHandler(void) { u8 Flag; if(TIM_FlagStatus(TIM2, TIM_ICFA) == SET) { Flag=1; TIM_FlagClear(TIM1, TIM_ICFA); //清除中断标志 }
}
int main (void) { //设置P0.14为CMOS输入 GPIO0->PC0&=~0x4000; GPIO0->PC1|=0x4000; GPIO0->PC2&=~0x4000;
//P0.14 TIM_InitConfig;
while(1) { if(IRQ_Flag) {
//Send_Data(Temp_Buff,0x40); //做你自己的事 }
} } }
|