STM32 烧录程序后上电不工作,但调试模式下可正常工作的解决办法

学习STM32的时候遇到的小问题:

用CubeMX生成初始代码,程序内容只包括呼吸灯工作和一个中断调用printf重定向函数向串口发送内容;

在STM32F103C8T6最小系统板烧录程序后上电不工作,但调试模式下可正常工作

解决的办法是:勾选Use MicroLIB

在这里插入图片描述
参考链接:https://www.csdn.net/tags/MtjaYg1sNTgxNzMtYmxvZwO0O0OO0O0O.html

  • MicroLIB

如果你发现在Keil RealView MDK 中使用printf 函数,不能向串口输出信息,或者今后发现可以软件仿真,不能硬件仿真,MicroLib 提供了一个有限的stdio子系统,它仅支持未缓冲的stdin、stdout 和stderr。这样,即可使用printf()来显示应用程序中的诊断消息。

要使用高级I/O 函数,就必须提供自己实现的以下基本函数,以便与自己的I/O 设备(如串口)配合使用。为所有输出函数:fprintf()、printf()、fwrite()、fputs()、puts()、putc()和putchar()等需要实现fputc()函数。为所有输入函数:fscanf()、scanf()fread()、read()、fgets()、gets()、getc() 和 getchar()等需要实现fgetc()函数。由于MicroLib 进行了高度优化,以使代码变得很小。因此,MicroLib 不完全符合ISO C99 库标准,仅提供有限的支持,不具备某些ISO C 特性。

参考链接:https://www.cnblogs.com/sumsung007/articles/6566767.html

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值