打印
[STM32WBA]

例程中的基本定时器配置不进中断源可能的原因

[复制链接]
465|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
中断优先级配置问题
FreeRTOS 使用配置的中断优先级,如果定时器中断优先级太高,FreeRTOS 可能无法管理它。

解决方法:

确保定时器中断优先级低于 configMAX_SYSCALL_INTERRUPT_PRIORITY。

c

NVIC_SetPriority(TIMx_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), 5, 0));

定时器初始化配置问题
定时器的配置是否正确,包括时钟源、预分频器、计数模式等。

解决方法:

检查定时器初始化代码,确保所有配置正确。
c

void TIM_Config(void)
{
    __HAL_RCC_TIMx_CLK_ENABLE();

    TIM_HandleTypeDef TimHandle;
    TimHandle.Instance = TIMx;
    TimHandle.Init.Period = 1000 - 1;
    TimHandle.Init.Prescaler = 8000 - 1;
    TimHandle.Init.ClockDivision = 0;
    TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
    if (HAL_TIM_Base_Init(&TimHandle) != HAL_OK)
    {
        // Initialization Error
        Error_Handler();
    }

    if (HAL_TIM_Base_Start_IT(&TimHandle) != HAL_OK)
    {
        // Starting Error
        Error_Handler();
    }
}




使用特权

评论回复
沙发
Bowclad| | 2024-7-26 11:22 | 只看该作者
一般都用默认的

使用特权

评论回复
板凳
kqh11a| | 2024-7-29 14:23 | 只看该作者
在FreeRTOS中,为了确保系统的稳定运行,必须将与FreeRTOS相关的中断优先级配置在一个特定范围内,特别是configMAX_SYSCALL_INTERRUPT_PRIORITY。

使用特权

评论回复
地板
kqh11a| | 2024-7-29 14:23 | 只看该作者
定时器中断优先级必须低于configMAX_SYSCALL_INTERRUPT_PRIORITY,否则可能会导致FreeRTOS无法管理定时器中断。

使用特权

评论回复
5
发给她更好fh| | 2024-7-31 23:21 | 只看该作者
定时器的配置必须正确,包括时钟源、预分频器、计数模式等。

使用特权

评论回复
6
flycamelaaa| | 2024-8-13 17:04 | 只看该作者
中断优先级设置错误

使用特权

评论回复
7
laocuo1142| | 2024-8-13 17:04 | 只看该作者
中断使能位未设置

使用特权

评论回复
8
powerantone| | 2024-8-13 17:04 | 只看该作者
定时器初始化配置错误

使用特权

评论回复
9
工程师犹饿死| | 2024-8-28 19:03 | 只看该作者
为了确保 FreeRTOS 能够正确管理中断,定时器中断的优先级必须低于 configMAX_SYSCALL_INTERRUPT_PRIORITY。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

692

帖子

1

粉丝