STM8L 简单定时器使用

STM8L中有多个定时器,TIM1最高级,其他都是普通定时器,一般情况下也够用。

最简单的示例

初始化

    // TIM3时钟使能
    CLK_PeripheralClockConfig(CLK_Peripheral_TIM3, ENABLE);         

    // 默认初始化
    TIM3_DeInit();

    // 最主要处理:设置计数(延时时间)
    // STM8上电后的默认时钟是HSI的8分频,也就是16M/8=2M
    // 在此频率下,再次设置2分频(TIM3_Prescaler_2)
    // 向上溢出计数为1000,可知实际触发时间为 (1/2M)*2*1000=1ms

    /* (1/2MHz)*2*1000 = 1ms */
    TIM3_TimeBaseInit(TIM3_Prescaler_2, TIM3_CounterMode_Up, 1000);

    // 定时溢出中断
    TIM3_ITConfig(TIM3_IT_Update, ENABLE);
    // 自动加载
    TIM3_ARRPreloadConfig(ENABLE);
    // 初始计数
    TIM3_SetCounter(0);

    // 中断优先级
    ITC_SetSoftwarePriority(TIM3_UPD_OVF_TRG_BRK_USART3_TX_IRQn , ITC_PriorityLevel_2);

    // 使能
    TIM3_Cmd(ENABLE);

中断处理

INTERRUPT_HANDLER(TIM3_UPD_OVF_TRG_BRK_USART3_TX_IRQHandler, 21)
{
    // 清中断
    TIM3_ClearITPendingBit(TIM3_IT_Update);
    count++; // 你的处理
}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值