常见bug专栏
m0_61973119
这个作者很懒,什么都没留下…
展开
-
硬件中断错误HardFault_Handle如何解决
四、右击空白处,输入遇到硬件中断前地址,即可知道错误原因。三、打开Disassembly Window。二、打开Call Stack Window。程序就会自动跳转硬件中断错误处。一、在硬件中断处点击断点。原创 2024-04-22 14:19:40 · 142 阅读 · 0 评论 -
串口乱码原因
开发板上外部时钟的晶振与代码中的外部时钟的晶振不一致,使用cubemx配置时钟时要格外注意,选好芯片之后再看外部晶振是啥,不然随便设置可能乱码原创 2024-01-09 19:04:13 · 358 阅读 · 0 评论 -
单片机烧入代码没有反应
尽管单片机有串口调试助手或者仿真器供电,但是实际上 单片机的电量还是不足。此时可以插上电源线或者让串口调试助手和仿真器一起供电等等。我们通过stlink或者jlink烧写代码,单片机的电源灯已经被点亮,但是烧入代码之后没有现象。1、没有勾选下列选项,或者自己手动复位也可以运行。原创 2024-01-09 18:15:40 · 731 阅读 · 0 评论 -
FreeRTOS调度任务不执行的原因
上述代码中task2的优先级大于task1,导致程序中会一直运行task2,不运行task1,所以程序没有任何输出。freeRTOS调度任务的机制是:优先级高的任务先运行,同优先级的任务时间片轮转运行。运行上述代码,为什么串口调试助手不会打印hello,原因在于任务的优先级。原创 2023-12-27 15:18:28 · 1111 阅读 · 0 评论 -
printf函数不可重入问题(FreeRTOS)
问题现象:如果在最开始的代码中加入printf打印函数,函数只会打印一部分,且后面的程序不在运行,直接异常。代码调试,结果也是遇到printf函数卡死,进入HardFault_Handler中断屏蔽打印函数之后,代码正确运行,说明printf函数严重影响程序的运行。原创 2023-12-27 14:50:27 · 565 阅读 · 0 评论 -
Undefined symbol xQueueCreateSet (referred from freertos_demo.o
freertos中的queue.h函数中声明函数前面加了宏定义,如果宏定义没有使能,那么函数也会找不到。FreeRTOSConfig.h配置文件中没有使能队列集。函数定义但未在头文件中声明。原创 2023-12-27 11:59:27 · 427 阅读 · 0 评论 -
调用delay_ms函数进入hardfault_handler处理硬件错误中断
1.检查代码中的情况。2.检查是否有的情况,可以通过增加堆栈大小或者减少函数调用深度来解决。3.检查是否有的情况,可以通过调整中断优先级来解决。4.检查是否有外设配置不当的情况,可以通过重新配置外设来解决。5.检查是否有,例如芯片损坏等情况,可以更换芯片来解决。原创 2023-12-27 10:05:50 · 514 阅读 · 0 评论 -
安装stm32 ST-link utility完成后找不到mfc140.dll文件怎么处理
进入网站,下载安装完成即可。原创 2023-12-22 10:32:21 · 779 阅读 · 0 评论 -
keil5没有floating point hardware
STM32F4带有32位单精度硬件FPU支持浮点指令集。相比Cortex-M3、Cortex-M0等无FPU的芯片高出数十倍甚至上百倍的运算性能。对于使用CubeMX的用户,如果芯片带有FPU,会默认开启FPU功能。例如Cotex-M4的内核就有处理浮点数运算的能力,有FPU单元。无FPU的芯片是没有这个选项的,例如Cotex-M3的内核没有处理浮点数运算的能力,没有FPU单元。FPU单元是芯片上一个独立于CPU处理的浮点运算单元,整个单元可以被使能和关闭。原创 2023-12-13 10:38:05 · 568 阅读 · 0 评论 -
File has been changed outside the editor, reload?
编译keil工程,一直提示:该文件在编译器之外被修改,是否重新加载。原创 2023-12-10 17:24:14 · 469 阅读 · 1 评论