结合自己的踩坑经历,和一些优秀博主分享的知识,代码调试时发现代码卡死在
0x08000764 BEAB BKPT 0xAB
这一句汇编语句中,主要问题都是与在单片机上使用printf()函数有关。
如果希望在单片机/嵌入式代码中使用标准输入输出函数,需要做以下三步工作
- 添加#include<stdio.h>头文件
- 重写fputc(int ch,FILE *f)函数
- 勾选microLIB微库这个选项(不勾选时,编译可以通过,但是程序会卡死在上述汇编代码语句,而无法看到实验现象)
tip:如果使用了STM32CubuMX生成代码,图形化修改配置重新生成代码时,默认不勾选microLIB,即使之前的代码是勾选上的也会自动取消勾选,使你突然自闭(狗头)。!!!!!