STM32_bug总结-运行函数在SystemInit之后就卡死
一、大致问题

程序运行到这卡死在这了,这个是在SystemInit之后,准备进入main函数的时候。
二、解决方法
一步步注释过来,看是在哪边卡住了,最后发现是在一个函数里面,里面使用printf函数,虽然我重定向了,但是使用了文字格式,应该是不支持,所以就卡在这了。
int decimalToHex(uint16_t dec, uint8_t CMD[8]) {// 检查输入合法性:仅支持0~65535(2字节无符号整数范围)if (dec > 0xFFFF) {printf("错误:数值必须在0~65535之间\n");return -1;}
// if (dec <= 0) {
// return -1;
// }// // 计算高位字节(右移8位,取高8位)
// CMD[1] = (dec >> 8) & 0xFF;
// // 计算低位字节(与0xFF,取低8位)
// CMD[2] = dec & 0xFF;return 0;
}
