【STM32+HAL库】---- 通用定时器实现外部脉冲计数

复制代码
硬件开发板:STM32G0B1RET6
软件平台:cubemax+keil+VScode

1 新建cubemax工程

1.1 配置系统时钟RCC

1.2 配置定时器

选择通用定时器TIM2,时钟源选择ETR2,对应的输入端口为PA0引脚,预分频系数为0,重装载值选择默认最大值,避免溢出

1.3 配置信号输出端口

选择PA1引脚作为信号输出端口,选择输出模式GPIO_Output,自定义标签为OUT_SIGN,其他设置默认即可

1.4 配置串口

并在keil中的魔术棒界面开启微库

2 代码

2.1 printf重定向

usart.h引用头文件和函数声明

c 复制代码
#include "stdio.h"

int fputc(int ch,FILE *f);

usart.c中重定向

c 复制代码
//重定向printf
int fputc(int ch,FILE *f)
{
  uint8_t temp[1]={ch};
  HAL_UART_Transmit(&huart2,temp,1,2);
  return ch;
}

2.2 main函数

c 复制代码
int main(void)
{
  /* USER CODE BEGIN 1 */
	uint32_t count;
  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM2_Init();
  MX_USART2_UART_Init();
  /* USER CODE BEGIN 2 */
  HAL_TIM_Base_Start(&htim2);    /*开启定时器2,用于外部计数*/
  printf("TIMER IS OK!\n");
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    HAL_GPIO_TogglePin(OUT_SIGN_GPIO_Port,OUT_SIGN_Pin);    /*每隔500ms翻转一次LED*/
    HAL_Delay(500);
    count=__HAL_TIM_GET_COUNTER(&htim2);    /*读取计数值*/
    printf("计数值:%d\n",count);    /*输出结果*/
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

3 实验现象

用杜邦线连接PA0PA1引脚,观察串口输出结果

相关推荐
Net_Walke29 分钟前
【Linux系统】静态链接库与动态链接库
linux·嵌入式硬件
努力小周2 小时前
STM32智能安防系统
c语言·stm32·单片机·嵌入式硬件·物联网·计算机网络·pcb工艺
华科大胡子4 小时前
在STM32上跑通TinyML
stm32·单片机·嵌入式硬件
iCxhust5 小时前
C#进程管理程序
开发语言·汇编·stm32·单片机·c#·微机原理
zhaoshuzhaoshu7 小时前
嵌入式开发之IIC接口详解-STM32
嵌入式硬件·软件工程
SUNNYSPY0018 小时前
AO3402-ASEMI开关电源专用AO3402
单片机
iCxhust8 小时前
MTK8088单板机制作(一)时钟电路
汇编·单片机·嵌入式硬件·微机原理·8088单板机
2601_958352908 小时前
双麦 DSP 音频拾音模块 A-68:多场景远场语音交互的声学解决方案
嵌入式硬件·音视频·降噪·回音消除·音频处理模块
崇山峻岭之间9 小时前
单片机直流有刷电机速度环PID控制实验
单片机·嵌入式硬件
xiangw@GZ9 小时前
智能锁浮空系统指纹头金属环ESD防护技术分析
单片机·嵌入式硬件