zoukankan      html  css  js  c++  java
  • Tim定时器操作

    写在前面:

    没想到最后做的才是定时器hhhhhh,把最麻烦的留在最后做bksw,而且要在之前乱七八糟插入定时器再调真的有毒,以后要先做框架了


    Tim外设产生PWM波

    配置:

    internal clock

    打开通道

    配置频率

    打开Tim

    HAL_TIM_PWM_Start(&htim8,TIM_CHANNEL_1);

    这里选取的是Tim8的CH1,对应引脚为PC6

    __HAL_TIM_SET_COMPARE(&htim8, TIM_CHANNEL_1, dutyCycle);

    第三个参数控制占空比,由于频率设置为1000,所以使用一个小于一千的数控制占空比。

    想要关闭产生可变PWM时直接产生一个固定频率的PWM波即可。


    定时器中断操作

    配置定时器,这里因为是72分频,所以为

    第三栏为时间,这里10000为1s,所以这里是定时0,1s

    代码部分

    HAL_TIM_Base_Start_IT(&htim5);

    打开tim5

    HAL_TIM_Base_Stop_IT(&htim5);

    关闭tim5

    void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    
    {if (htim->Instance == htim5.Instance)
    
            {
                k--;
           }
    }

    在code 4 处添加此代码,作为中断内容。

  • 相关阅读:
    roadmap
    Tree and Permutation
    码队的新桌游
    关于优先队列重载运算符
    YJJ's Salesman
    E. Natasha, Sasha and the Prefix Sums
    C. Anna, Svyatoslav and Maps
    D1. Kirk and a Binary String (easy version)
    C. Almost Equal
    D. Shortest Cycle
  • 原文地址:https://www.cnblogs.com/SFWR-YOU/p/14037794.html
Copyright © 2011-2022 走看看