第一步:
具体配置如下图:
第二步:
可以根据自身需要在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 */
}
上一篇:STM32速成笔记(12)—Flash闪存
下一篇:在家没有硬件开发板怎么调试STM32?
- 热门资源推荐
- 热门放大器推荐
设计资源 培训 开发板 精华推荐
- 使用符合 EN55022 B 类(24Vin 和 48Vin,单输出)具有 EMC 滤波的 RP40-4815DFR DC/DC 转换器的典型应用
- EVAL-ADF7021-NDBEZ,基于 ADF7021-N 421 - 440 MHz ISM 频段收发器的子板,带有外部电感 VCO
- 使用 ADA4077-2ARZ-RL 双电源高精度放大器用于低功耗线性化 RTD 电路的典型应用电路
- LTM4631IV 4.5 至 15Vin、1V 和 1.2V、10A 输出降压稳压器的典型应用电路
- #第七届立创电赛#基于国民技术MCU的电压电流表
- 0.6V DC 至 DC 单路输出机顶盒电源
- 涂鸦智能Zigbee无线开关三键 0603
- 具有 PWM 调光功能的 NSV45060JDT4G LED 灯串的典型应用
- 使用 ROHM Semiconductor 的 BD49E50G-TR 的参考设计
- STEVAL-ISA170V1,基于 L6563H、L6699 和 SRK2001 12V - 150W 谐振转换器的评估板,具有同步整流