一、大致问题

程序运行到这卡死在这了,这个是在SystemInit之后,准备进入main函数的时候。
二、解决方法
一步步注释过来,看是在哪边卡住了,最后发现是在一个函数里面,里面使用printf函数,虽然我重定向了,但是使用了文字格式,应该是不支持,所以就卡在这了。
cpp
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;
}