一、开发环境及工具
- HC32F003 / HC32F005
- Keil uVision5 V5.33 / IAR For ARM 7.80.4 (J-Link)
- 此工程源码下载路径 : https://gitee.com/amx/hc32ddl-app
二、高级定时器Timer4
我们将P23作为输入捕获引脚,计算输入方波的脉冲宽度,单位精度为1微秒。
- 选择Timer4的输入捕获功能

- 时钟源没有24分频,我们将主频设置为16M,定时器选择16分频(1us计数一次)

三、代码实现
-
引脚P23初始化
void App_AdtPortInit(void) { stc_gpio_cfg_t stcTIM4Port; DDL_ZERO_STRUCT(stcTIM4Port); Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE); //端口外设时钟使能 stcTIM4Port.enDir = GpioDirIn; //P23设置为TIM4_CHA Gpio_Init(ADT_CAPA_PORT, ADT_CAPA_PIN, &stcTIM4Port); Gpio_SetAfMode(ADT_CAPA_PORT,ADT_CAPA_PIN,GpioAf3); } -
定时器初始化,不使用滤波和硬件清零

本文介绍如何在HC32F003/005微控制器中使用高级定时器Timer4,通过输入捕获功能测量方波的脉冲宽度,以1us为精度。涉及GPIO配置、定时器初始化、中断处理和实际测试过程。
最低0.47元/天 解锁文章
1983

被折叠的 条评论
为什么被折叠?



