zoukankan      html  css  js  c++  java
  • STM32F407手册学习系列-外设之基本定时器

    博客参考资料

    https://www.rishiqing.com/share/doc/NzQ4MzMyOQ==?version=reditor

    https://www.cnblogs.com/firege/p/5805886.html

    https://zhuanlan.zhihu.com/c_1101899020108214272

    视频

    https://www.bilibili.com/video/av23178859?p=68

    ------------------------------------------------------------------------

    整个定时器周期由下面2个寄存器决定:

    ----------------------------------------------------------------------------------------------------------------

    硬时科技P66

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

     硬时科技P68

    定时器初始化结构体,跟硬件有关,硬件层面上的:

     对应寄存器手册上内容

    ------------------------------------------------------------------------下面是TIMx_CNT寄存器---------------------------------------------------------------------------------

     

    对应寄存器手册上内容

    ---------------------------------------------------------------------------下面是TIMx_ARR寄存器--------------------------------------------------------------------------------

    定时器产生中断的频率=计数器时钟频率CK_CNT/自动重装载值

    对应寄存器手册上内容

    1.

     

    2.

    -------------------------------------------------------------------------------------------------------------------------------------------------------

    -----------------------------------------------------以下为定时器句柄结构体-----------------------------------------------------------------

    定时器句柄结构体,定时器编程使用,软件层面上的:

     -------------------------------------------------------------------------------------------------------------

     定时器寄存器基地址:用于区分定时器。通过这个来判断,当前使用哪一个定时器。

    -----------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------

    基本定时器TIM6没有通道

    -----------------------------------------------------------------------------------------------------

    那么TIM6有几个DMA,通过编程手册查询

    就是通过下面的表来查一下有没有TIM6

     可以查到有TIM6_UP,所以基本定时器也是有DMA功能的

    ----------------------------------------------------------------------------------------------------------------------

     ----------------------------------------------------------------------------------------------------------------------

    ----------------------------------------------------------------------------------------------------------------------

    代码分析

    bsp_BasicTIM.h头文件里面定义

    #define BASIC_TIMx                     TIM7
    #define BASIC_TIM_RCC_CLK_ENABLE()     __HAL_RCC_TIM7_CLK_ENABLE()  //定时器7相关时钟
    #define BASIC_TIM_RCC_CLK_DISABLE()    __HAL_RCC_TIM7_CLK_DISABLE() //定时器7相关时钟
    #define BASIC_TIM_IRQ                  TIM7_IRQn //定义中断号
    #define BASIC_TIM_INT_FUN              TIM7_IRQHandler //定义中断服务函数。
    

     关于中断号(TIM7_IRQn),不能自己随便写,这是由汇编文件给出的。

    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    手写vite
    单点登录的实现原理
    vue中和react中key的用法
    手写MVVM
    rtvue-lowcode:一款基于uniapp框架和uview组件库的开源低代码开发平台
    博图TIA中ModbusRTU_CRC校验程序的实现
    博图TIA中ModbusRTU Over TCP/IP通讯的实现
    webpack之file-loader和url-loader的区别
    Webpack中Loader和Plugin的区别?编写Loader,Plugin的思路?
    spark-sql 与hive 常用函数
  • 原文地址:https://www.cnblogs.com/make-big-money/p/12154501.html
Copyright © 2011-2022 走看看