在线时间0 小时
UID14132
ST金币0
蝴蝶豆0
注册时间2007-7-27
新手上路
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
各位:
刚接触ST的STM8S芯片,最近在用STM8S105在做红外遥控解码(NEC格式的码)。想用TIMER1和CH4,用捕获的方式来做。
但在调试时,发现捕获到的数值始终不对。请各位帮忙看看。
1。初始化
void IR_INIT(void)
{
TIM1_ICInit( TIM1_CHANNEL_4, TIM1_ICPOLARITY_FALLING, TIM1_ICSELECTION_DIRECTTI, TIM1_ICPSC_DIV1, 0x0);
TIM1_CCxCmd(TIM1_CHANNEL_4, ENABLE);
TIM1_Cmd(ENABLE);
TIM1_ITConfig( TIM1_IT_CC4 , ENABLE);
TIM1_ClearFlag(TIM1_FLAG_CC4);
}
2。捕获的中断函数
INTERRUPT_HANDLER(IR_ISR, 12)
{
TIMER_TEMP[int_count]= TIM1_GetCapture4();
TIM1_ClearFlag(TIM1_FLAG_CC4);
}
调试发现TIMER_TEMP数组里的值,每次都不一样。用了128HZ的一个方波加到CH4上测试,发现TIMER_TEMP数组里的值也不一样,不知道为什么。 |
|