1.使用了AC6则代表不兼容微库MicroLIB,同时不再支持#pragma import

2.找个地方添加以下代码,由deepseek生成(doge

// 禁用半主机模式
__asm(".global __use_no_semihosting");
// 系统接口的空实现(避免链接错误)
void _sys_exit(int code) { 
    (void)code; 
    while(1);  // 系统挂起
}
// 处理终端字符
void _ttywrch(int ch)
{
    (void)ch; 
    while(1);  // 系统挂起
}
// 实现_sys_command_string(解决L6915E错误)
char *_sys_command_string(char *cmd, int len) {
    (void)len;
    return cmd;  // 简单返回输入命令
}

3.

打开Manage Run-Time Environment-》Compiler-》I/O-》勾选以下三个

4.重定向

int fputc(int ch,FILE *f)
{
  uint8_t temp[1] = {ch};
  while(__HAL_UART_GET_FLAG(&huart1, UART_FLAG_TC) == RESET);
  HAL_UART_Transmit(&huart1, temp, 1, 0);
  return ch;
}

具体原理本人也不懂

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐