STM32CubeMx计数器基本使用方法

发布者:zhihua最新更新时间:2024-04-03 来源: elecfans关键字:STM32CubeMx  计数器  使用方法 手机看文章 扫描二维码
随时随地手机看文章

第一步:

具体配置如下图:

图片

第二步:

可以根据自身需要在NVIC 中断控制器中配置中断响应优先级。这里的配置方法可以参考前面几章!


第三步:


代码分析:


static void MX_TIM2_Init(void)

{


  /* USER CODE BEGIN TIM2_Init 0 */


  /* USER CODE END TIM2_Init 0 */


  TIM_ClockConfigTypeDef sClockSourceConfig = {0};

  TIM_MasterConfigTypeDef sMasterConfig = {0};


  /* USER CODE BEGIN TIM2_Init 1 */


  /* USER CODE END TIM2_Init 1 */

  htim2.Instance = TIM2;

  htim2.Init.Prescaler = 0;

  htim2.Init.CounterMode = TIM_COUNTERMODE_UP;

  htim2.Init.Period = 1000;

  htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

  htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;

  if (HAL_TIM_Base_Init(&htim2) != HAL_OK)

  {

    Error_Handler();

  }

  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_ETRMODE2;

  sClockSourceConfig.ClockPolarity = TIM_CLOCKPOLARITY_NONINVERTED;

  sClockSourceConfig.ClockPrescaler = TIM_CLOCKPRESCALER_DIV1;

  sClockSourceConfig.ClockFilter = 0;

  if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)

  {

    Error_Handler();

  }

  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

  if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)

  {

    Error_Handler();

  }

  /* USER CODE BEGIN TIM2_Init 2 */

  //在这这里添加这行代码,意思是初始化完成便开启计数器

  HAL_TIM_Base_Start(&htim2);

  /* USER CODE END TIM2_Init 2 */


}

//主函数里面调用计数值

 while (1)

  {


    ETR_Count = __HAL_TIM_GET_COUNTER(&htim2);  


    /* USER CODE END WHILE */


    /* USER CODE BEGIN 3 */


  }


关键字:STM32CubeMx  计数器  使用方法 引用地址:STM32CubeMx计数器基本使用方法

上一篇:STM32速成笔记(12)—Flash闪存
下一篇:在家没有硬件开发板怎么调试STM32?

推荐阅读最新更新时间:2026-03-20 17:43

STM32CubeMx普通PWM基本使用方法
本文实例说明: 这里是使用 TIM3_CH2输出 一个频率为50kHz; 占空比为50% 的PWM信号。 1先配置STM32CubeMX 参数,如图: 重点说明: PWM 频率 = APB1 Timer clocks (MHz) / APB1 Timer clocks (MHz) :64MHz Counter Period : 20 Prescaler :设置为64-1 那么此时PWM时钟设置为: f = 64000000 / 64 /20 = 50KHz Pulse :设置为10 ,也就是占比为:10/20 = 50% Fast Mode:如果频率太高可以使能快速模式。可以大大提高PWM反
[单片机]
<font color='red'>STM32CubeMx</font>普通PWM基本<font color='red'>使用方法</font>
STM32CubeMX:ETR外部脉冲计数器
使用TIM定时器ETR管脚对外部脉冲进行计数,用PA0模拟产生脉冲进行计数。 芯片:STM32F103C8T6 输出:PA0、PA12(TIM1_ETR)、USART1 配置界面 TIM1配置 Period为计数溢出周期 代码应用 /* USER CODE BEGIN 2 */ HAL_TIM_Base_Start(&htim1); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */
[单片机]
01 STM32CubeMX 安装和配置
STM32CubeMX软件工具,可以: (1)管理(安装、升级、移除)STM32器件的固件包和扩展包 (2)对MCU或MPU进行外设图形化配置 (3)生成外设初始化函数和IDE项目框架 STM32CubeMX支持的IDE软件:EWARM、MDK-ARM、TrueSTUSIO、STM32CubeIDE、SW4STM32、MakeFile ----摘自《STM32Cube高效开发教程(基础篇)》p6 一、下载安装STM32CubeMX 1.下载 官方下载地址: https://www.st.com/en/development-tools/stm32cubemx.html 。滑到网页下方,选择对应得版本点红色按钮即可下载(下载之前,
[单片机]
STM32CubeMX学习笔记(5)——基本定时器接口使用
一、定时器简介 STM32F1 系列中,除了互联型的产品,共有 8 个定时器,分为基本定时器,通用定时器和高级定时器。 基本定时器 TIM6 和 TIM7 是一个 16 位的只能向上计数的定时器,只能定时,没有外部 IO。 通用定时器 TIM2/3/4/5 是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,每个定时器有四个外部 IO。 高级定时器 TIM1/8 是一个 16 位的可以向上/下计数的定时器,可以定时,可以输出比较,可以输入捕捉,还可以有三相电机互补输出信号,每个定时器有 8 个外部 IO。 二、新建工程 1. 打开 STM32CubeMX 软件,点击“新建工程” 2.
[单片机]
STM32CubeMX学习笔记(6)——USART串口使用
一、USART简介 通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个 UART(Universal Asynchronous Receiver and Transmitter),它是在 USART 基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是 UART。 串行通信一般是以帧格式传输数据,即是一帧一帧的传输,每帧包含有起始信号、数据信息、停止信息,可能还有校验信息。USAR
[单片机]
STM32CubeMX学习笔记(8)——ADC接口使用
一、ADC简介 ADC(Analog-to-Digital Converter),即模拟-数字转换器,可以将连续变化的模拟信号转换为离散的数字信号,进而使用数字电路进行处理,称之为数字信号处理。 STM32f103 系列有 3 个 ADC,精度为 12 位,每个 ADC 最多有 16 个外部通道。其中 ADC1 和 ADC2 都有 16 个外部通道,ADC3 根据 CPU 引脚的不同通道数也不同,一般都有 8 个外部通道。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。ADC 的输入时钟不得超过1
[单片机]
STM32CubeMX学习笔记(15)——电源管理(PWR)低功耗睡眠模式
一、低功耗模式简介 系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗。由用户根据应用选择具体的低功耗模式,以在低功耗、短启动时间和可用唤醒源之间寻求最佳平衡。 睡眠模式、停止模式及待机模式中,若备份域电源正常供电,备份域内的 RTC 都可以正常运行,备份域内的寄存器的数据会被保存,不受功耗模式影响。 从表中可以看到,这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。 模式名称 说明 进入方式 唤醒方式 对1.8V区域时钟的影响 对VDD区域时钟的影响 调压器 睡眠模式 内核停止,所有外设包括M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行 调用WF
[单片机]
STM32CubeMX学习笔记(14)——RTC实时时钟使用
一、RTC简介 实时时钟(RTC) 是一个独立的 BCD 定时器/计数器。 RTC 提供具有可编程闹钟中断功能的日历时钟/日历。RTC 还包含具有中断功能的周期性可编程唤醒标志。两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时( 12 或 24 小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。只要芯片的备用电源一直供电,RTC上的时间会一直走。 STM32 的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时器 TIM 外设,它十分简单,只有很纯
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved