请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用STM8L151F3P6编程,调用TIM4定时器

[复制链接]
bj15543771902 提问时间:2019-5-20 15:10 /
使用TIM2和TIM3都很好用,但不够用。使用TIM4定时器,用中断服务程序来编写一个软件计数器。不论如何初始化编程,TIM4就是不能进入中断,void Tim4_Init(void)
{         
    TIM4_TimeBaseInit(TIM4_Prescaler_16,250);//TIM3时基初始化   
    TIM4_ARRPreloadConfig(ENABLE);//使能自动重装(250)   
    TIM4_ITConfig(TIM4_IT_Update, ENABLE);//数据更新中断(0)     
    TIM4_Cmd(ENABLE);//开定时器4   
}
不知如何是好,中断服务程序如下:用LED1作指示,高电平点亮。
INTERRUPT_HANDLER(TIM4_UPD_OVF_TRG_IRQHandler,25)
{   
    LED1_H;//点亮   
    static u16 w=0;//加热周期-(250(T4)X40000=10S)局部静态变量
    if(w<40000)     //创建副开关计数器
    {        
        w++;                 
    }
    else           //计数溢出
    {
        w=0;               
        LED2_H;//点亮      
        TIM2_Cmd(ENABLE);//开启定时器2
        TIM3_Cmd(ENABLE);//开启定时器3
    }
    TIM4_ClearITPendingBit(TIM4_IT_Update);//清除更新中断标志位         
}
敬请高手点拨!

收藏 评论4 发布时间:2019-5-20 15:10

举报

4个回答
bj15543771902 回答时间:2019-5-20 15:20:08
LED1不亮表明TIM4未进入中断。
Kevin_G 回答时间:2019-5-20 16:47:39
看着还可以啊,仿真看看寄存器的数值

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

wenyangzeng 回答时间:2019-5-20 17:42:42
本帖最后由 wenyangzeng 于 2019-5-20 17:44 编辑

使用基本定时器中断应该就可以了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

byronsong 回答时间:2019-5-21 10:57:34
bj15543771902 发表于 2019-5-20 15:20
LED1不亮表明TIM4未进入中断。

定时器时钟开了吗?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版