OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3662|回复: 5

stm32未运行的程序对之前的程序有影响?

[复制链接]

4

主题

15

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-11-8
在线时间
7 小时
发表于 2019-3-11 23:14:19 | 显示全部楼层 |阅读模式
5金钱
在调试stm32的一个读写flash程序时发现一个问题:
我成功读取flash后会有led提示,即红灯亮。
我现在又想加入串口功能,但忘记了调用初始化程序,
只在主程序的结尾使用了(也就是说和之前正确的程序只在结尾多了这几行)
结果编译竟然没有报错,因为我没有调用#include<stdio.h>
下载后程序运行不了,调试的时候发现连主程序第一行都跑不到



求大佬解救啊
QQ图片20190311230922.png

最佳答案

查看完整内容[请看2#楼]

编译并不会检查你有没有调用初始化函数。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-3-11 23:14:20 | 显示全部楼层
编译并不会检查你有没有调用初始化函数。
回复

使用道具 举报

6

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2019-1-29
在线时间
67 小时
发表于 2019-3-12 00:42:59 | 显示全部楼层
估计是你的printf没配置好. 因为默认的printf的实现方式会在初始化的时候干点什么的. 如果初始化失败, 那么根本进不了main函数.

不清楚是Keil还是C编译器自己的行为.

Manage Run-Time Environment对话框里,

Compilier->I/O->STDOUT 可以指定printf的输出方式.



对于正点原子的代码, usart.c里, 是定义了 __stdout 和  fputc 的.  这也是重载printf的一个方法.


建议你单步调试一下, 看看哪里出错.

回复

使用道具 举报

4

主题

15

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-11-8
在线时间
7 小时
 楼主| 发表于 2019-3-12 08:12:43 | 显示全部楼层
正点原子 发表于 2019-3-11 23:14
编译并不会检查你有没有调用初始化函数。

原子哥,你来了!!!谢谢谢谢。
但是我没有调用,程序应该在最后才出现卡死,可现在刚一进主函数就卡死了
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-11-8
在线时间
7 小时
 楼主| 发表于 2019-3-12 08:16:02 | 显示全部楼层
正点原子 发表于 2019-3-11 23:14
编译并不会检查你有没有调用初始化函数。

而且我没有包含stdio头文件就直接用printf这也没有提示错误警告类的
回复

使用道具 举报

4

主题

15

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2018-11-8
在线时间
7 小时
 楼主| 发表于 2019-3-13 14:40:20 | 显示全部楼层
ZHDX 发表于 2019-3-12 00:42
估计是你的printf没配置好. 因为默认的printf的实现方式会在初始化的时候干点什么的. 如果初始化失败, 那么 ...

谢谢谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 19:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表