打印
[STM32]

定时器分频没起作用,是怎么回事啊?

[复制链接]
1272|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
majay123|  楼主 | 2014-4-10 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

芯片是stm8s105 我的程序是这样的
void PWM1_Init(u16 Freq)
{
        TIM1_DeInit();
        TIM1_TimeBaseInit(16, TIM1_COUNTERMODE_UP, Freq, 0);
        //TIM1_ARRPreloadConfig(ENABLE);
        TIM1_Cmd(ENABLE);//启动定时器1
        TIM1_ITConfig(TIM1_IT_UPDATE, ENABLE);

}

#ifdef _COSMIC_
@far @interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void)
#else /* _RAISONANCE_ */
void TIM1_UPD_OVF_TRG_BRK_IRQHandler(void) interrupt 11
#endif /* _COSMIC_ */
{
        GPIO_WriteReverse(GPIOC, GPIO_PIN_1);
        CountA1++;
}
Freq=1000;
但是输出的总是112KHZ,不论改什么值多不会变,但是我在stm8s207上同样的程序,输出是490HZ左右的频率。只是怎么回事啊!是单片机的问题吗?还是我程序哪里写错了。求帮忙看看...

相关帖子

沙发
ayb_ice| | 2014-4-10 11:07 | 只看该作者
这种东西看手册对程序就搞定了

使用特权

评论回复
板凳
coody| | 2014-4-10 11:12 | 只看该作者
MCU有BUG,报告ST公司叫他们改好后发回

使用特权

评论回复
地板
majay123|  楼主 | 2014-4-10 12:40 | 只看该作者
问题找到了,        TIM1_ClearITPendingBit(TIM1_IT_UPDATE);少了这个,忘记跟新中断了,怪自己2了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

13

帖子

1

粉丝