zoukankan      html  css  js  c++  java
  • STM32.定时器

    一.定时器分类

    11个定时器:

    定时器:

    1、8      高级(7路PWM输出)

    2、3、4、5  通用(4路)

    6、7        基本

    2个看门狗

    1个sysTick

    时钟分布:

    二.这里我们主要对定时器中 定时时间的安排以及几路PWM的输出配置

    1,时间安排

    当计数器达到自动重装载寄存器值 就会发生中断。

    2.TIM2_Configuration(void)

    其中的这两句

    /* 自动重装载寄存器周期的值(计数值)*/
    TIM_TimeBaseStructure.TIM_Period=1000;

    /*时钟预分频数为71+1*/
    TIM_TimeBaseStructure.TIM_Prescaler= 71;

    故定时器溢出时间为:

    TIM_Period / Auto Reload Register(ARR) = 1000   TIM_Prescaler--71 

    TIM_Period = 1 / (72MHz/72)

    故中断时间:1 / (72MHz/72)*1000 = 1ms

    3.输出方波(输出比较)

    TIMxCLK/CK_PSC --> TIMxCNT --> TIMx_ARR --> TIMxCNT 重新计数

                (计数寄存器)

                TIMx_CCR(电平发生跳变)

    TIMxCNT = TIMx_CCR //当两个寄存器的值相等的时候电平发生跳变

    TIMx_CCR:自动重装载寄存器的值:

    TIM_TimeBaseStructure.TIM_Period = 999;

    CK_PSC分频:

     TIM_TimeBaseStructure.TIM_Prescaler = 0;

    ②信号周期=(TIMx_ARR +1 ) * 时钟周期

    ③占空比=TIMx_CCR/(TIMx_ARR +1)

      TIM_OCInitStructure.TIM_Pulse = CCR1_Val;

    同一个定时器,输出4路PWM波形,频率不可不同,波特率可不同;

    在使用KEIL自带的仿真的时候,

    Use Simulator

  • 相关阅读:
    ArrayList与LinkedList区别
    ArrayList底层原理
    nginx启用https访问
    云服务器搭建 Nginx 静态网站
    在云服务器上(CentOS)上安装Node
    文本超出显示省略号CSS
    vue使用改变element-ui主题色
    vue中的select框的值动态绑定
    vue项目对axios的全局配置
    使用crypto-js对数据进行AES加密、解密
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4110421.html
Copyright © 2011-2022 走看看