SoWhyAreUTry 发表于 2023-3-18 15:07:23

串口打印Error:...\FreeRTOS\portable\RVDS\ARM_CM4F\port.c3,441

使用TIM中断刷新按钮变更IO输出,按下按钮时,会在串口打印Error:...\FreeRTOS\portable\RVDS\ARM_CM4F\port.c3,441。但是这个报错不会影响FreeRTOS更新状态机和按钮要改变的IO,仅仅只是报错,不影响任何操作,这是什么原因?
我之前查到的这种报错,要么说是串口抢占优先级与FreeRTOS的优先级冲突,要么说是中断中使用了FreeRTOS的API。可是我都检查过,没有这方面的问题,目前我使用的是STM32F407ZGT6开发板

eric2013 发表于 2023-3-18 16:11:56

问题描述不够清楚
1、这个串口打印是从哪里发出来的,谁打印的,是不是程序里面做个硬件异常检测,进入硬件异常前的位置。
2、位置port.c3,441里面是什么程序,截图下,版本不一样,对应位置程序不同。
3、使用FreeRTOS注意NVIC优先级分组设置为4,务必设置为4. 且中断里面调用其API,仅可以调用以FromISR结尾的函数

SoWhyAreUTry 发表于 2023-3-18 17:10:39

中断中仅刷新按钮控制IO

SoWhyAreUTry 发表于 2023-3-18 17:13:08

eric2013 发表于 2023-3-18 16:11
问题描述不够清楚
1、这个串口打印是从哪里发出来的,谁打印的,是不是程序里面做个硬件异常检测,进入硬 ...

中断中刷新按钮控制IO

eric2013 发表于 2023-3-18 17:21:25

这个位置的话,确实是二楼回复的问题,找不到问题,可以排查,所以代码都注释掉逐步开启排查。 看看是开了那个程序导致的。


SoWhyAreUTry 发表于 2023-3-18 17:26:31

eric2013 发表于 2023-3-18 17:21
这个位置的话,确实是二楼回复的问题,找不到问题,可以排查,所以代码都注释掉逐步开启排查。 看看是开了 ...

好的,我试试

SoWhyAreUTry 发表于 2023-3-18 17:36:14

eric2013 发表于 2023-3-18 17:21
这个位置的话,确实是二楼回复的问题,找不到问题,可以排查,所以代码都注释掉逐步开启排查。 看看是开了 ...

找到原因了,获取按钮的KEY_Scan中有调用delay_ms导致的

eric2013 发表于 2023-3-18 17:51:11

SoWhyAreUTry 发表于 2023-3-18 17:36
找到原因了,获取按钮的KEY_Scan中有调用delay_ms导致的

好的,骚操作系列之中断里面加delay
页: [1]
查看完整版本: 串口打印Error:...\FreeRTOS\portable\RVDS\ARM_CM4F\port.c3,441