STM32+HAL库实现外部脉冲计数
创作时间:
作者:
@小白创作中心
STM32+HAL库实现外部脉冲计数
引用
CSDN
1.
https://blog.csdn.net/weixin_66509332/article/details/141867081
本文将介绍如何使用STM32G0B1RET6开发板和HAL库实现外部脉冲计数功能。通过配置通用定时器TIM2,结合串口输出,可以实时监测外部脉冲信号的计数值。
硬件与软件环境
- 硬件开发板:STM32G0B1RET6
- 软件平台:Cubemx + Keil + VScode
1. 新建Cubemx工程
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中引用必要的头文件和函数声明:
#include "stdio.h"
int fputc(int ch,FILE *f);
在usart.c中实现printf重定向:
// 重定向printf
int fputc(int ch,FILE *f)
{
uint8_t temp[1]={ch};
HAL_UART_Transmit(&huart2,temp,1,2);
return ch;
}
2.2 main函数
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. 实验现象
使用杜邦线连接PA0和PA1引脚,观察串口输出结果。预期现象是串口会持续输出计数值,每当外部脉冲信号触发时,计数值会相应增加。
注意事项
- 确保外部脉冲信号正确连接到PA0引脚
- 串口输出需要在PC端使用串口助手软件进行监控
- 代码中未包含错误处理,实际应用中需要添加相应的异常处理机制
本文介绍了如何使用STM32G0B1RET6开发板和HAL库实现外部脉冲计数功能。通过配置通用定时器TIM2,结合串口输出,可以实时监测外部脉冲信号的计数值。希望对从事嵌入式开发的读者有所帮助。
热门推荐
洛阳汉服热:千年古都的文旅新变
国家药监局提醒:正天丸说明书修订,这些人群禁用或慎用
正天丸:冬季头痛的优选药物
金湖秋日摩旅打卡,这三大景点绝美出片!
冬日打卡:金湖荷花荡最美自然景观
凤凰古城:一座活着的博物馆,一场心灵的洗礼
凤凰古城深度游:打卡必去景点
凤凰古城:文化遗产保护的创新与实践
青豆真的能护心?真相揭秘!
东方之门:苏州的地标,传统与现代的完美融合
专业形象照:如何通过发型提升魅力?
南昆山云顶温泉:惠州泡汤首选!
打卡惠州古城记忆展:探寻城墙历史
惠州必打卡!鹿江公园、乌头山绿道、水东街拍照指南
惠州西湖:冬日里的岭南明珠
腹股沟疝气手术后的心理调适小妙招
职场人术后恢复实用指南
疝气手术后如何科学恢复?这份实用指南请收好
天津正规男科医院:疝气术后恢复全攻略
《滕王阁序》都会背,那你知道滕王是谁吗?老师咋都不愿讲?
中国四大名楼:岳阳楼、黄鹤楼、滕王阁、蓬莱阁
“集章式”旅游 打开南昌的新方式(图)
《我的世界》丧尸启示录:生存挑战大揭秘!
《生还者3.0》:一个不存在的整合包
脸型测量:不止是外貌评估,更是一次自我探索
脸型测量:打造完美形象的秘密武器
马思纯穿搭大揭秘:如何根据脸型选衣服?
汤加火山喷发:地球再次“怒吼”
汤加火山喷发:一场可能不会导致全球气温下降的世纪喷发
春节假期打卡:天津方特欢乐世界&欢乐谷