|
本帖最后由 LightingSky 于 2025-5-5 16:17 编辑
大家有遇到过这样的问题吗 我自己写了一个RTOS然后想要移植一下HAL库然后看看效果 神奇的事情发生了
int main()
{
// 创建一个任务 进入 app.c
// 然后就在APP里启动第一个任务
HAL_Init(); /* 初始化HAL库 */
sys_stm32_clock_init(336, 8, 2, 7); /* 设置时钟,168Mhz */
usart_init(115200); /* 串口初始化为115200 */
led_init();
printf("准备进入RTOS中\r\n");
/*------RTOS初始化-----*/
} 就是这句printf 我现在还没进入RTOS呢 我如果不开调试模式这句printf就会只打印半句然后就寄了

可是如果我开调试模式 然后一步一步的运行
int fputc(int ch, FILE *f)
{
while ((USART1->SR & 0X40) == 0); /* 等待上一个字符发送完成 */
USART1->DR = (uint8_t)ch; /* 将要发送的字符 ch 写入到DR寄存器 */
return ch;
} 它就反而都打印出来了,这是为什么呢?
有没有帮忙解惑一下哈
|
|