一、代码按照正点原子的例程配置的。
遇到了几个问题:
1.使用这个函数xEventGroupSetBitFromISR会报错。
2.程序不运行,These IPs still have some not configured or wrong parameter values:[FREERTOS]。
3.已进入中断就卡在里面再也出不来。
二、我用的cubemx版本只能用V1,不能选V2,应该是版本的问题不能在里面配置事件标志组。不过问题不大在代码里写就好了。
配置3个任务,一个按键选外部中断,优先级记得选,默认是0,中断优先级数字越小优先级越高,一开始我没选优先级数然后一进入到xEventGroupSetBitsFromISR就卡住在这里面。
三、freeRTOS官方的代码里说了,使用xEventGroupSetBitsFromISR要先使能configUSE_TRACE_FACILITY、INCLUDE_xTimerPendFunctionCall、configUSE_TIMERS这三个宏定义,这三个宏定义在cubemx里的定义在下图。要先使能USE_TIMERS然后才能使能xTimerPendFunctionCall,然后才能使能xEventGroupSetBitFromISR。要不然xEventGroupSetBitFromISR会一直是disable。我一开始没有使能这三个宏定义所以使用xEventGroupSetBitFromISR这个函数会报错。
然后建了三个任务加上软件定时器之后堆会溢出,生成代码的时候会这样↓
这样生成的代码不会报错不会警告,但是整个程序运行不了,把这个改得比TOTAL HEAP USED的3884大就好,改成4000。就没事了。
cubemx移植事件标志组These IPs still have some not configured or wrong parameter values:[FREERTOS]
最新推荐文章于 2025-08-06 16:42:06 发布