zoukankan      html  css  js  c++  java
  • TIM时钟频率计算

    Timer的Prescaler和period

    TM32定时器周期计算
    公式是:
    ((1+TIM_Prescaler )/时钟)(1+TIM_Period )
    F103配置生成1ms的时钟((1+35 )/36M)
    (1+999 ) = 1MS

    //配置定时器基础结构体
    TIM_DeInit(TIM2);
    //设置下一个更新事件装入活动的自动重装载寄存器周期的值,计数到1000为1ms
    /*1us跳1下
    那么跳动1000下当然需要1ms了*/
    TIM_TimeBaseStructure.TIM_Period=(1000-1);
    //设置用来作为Tim时钟频率除数的预分频值 1M的技术频率1US计数
    /*假设系统时钟为72M 
    72,000,000
    1,000,000
    1秒跳动1,000,000下
    1us跳1下*/
    TIM_TimeBaseStructure.TIM_Prescaler=(72-1);
    //不分频
    TIM_TimBaseStructure.Tim_ClockDivision=TIM_CKD_DIV1;
    //向上计数模式
    TIM_TimBaseStucture.TIM_CounterMode=TIM_CounterMode_UP;
    //根据TIM_TimBaseStructure中指定的参数初始化TIMx的时间基数单位
    TIM_TimBaseInit(TIM6,&TIM_TimBaseStructure);
    //清除更新中断,免得一打开中断就产生中断
    TIM_ClearFlag(TIM6,TIM_FLAG_Update);
    //打开定时器更新中断
    TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE);
  • 相关阅读:
    github 代理加速
    centos系统语言设置为中文
    红帽 / CentOS安装Jenkins
    查看api有没有更新到位
    永久关闭Windows10或Windows11的系统自动更新
    api传文件连接超时
    docker日常使用
    开发者工具批量替换
    Linux常用工具安装
    office密钥
  • 原文地址:https://www.cnblogs.com/xuyan123/p/14758498.html
Copyright © 2011-2022 走看看