OpenEdv-开源电子网

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

STM32单片机程序没有while循环,程序会停止吗?

[复制链接]

13

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2015-5-14
在线时间
65 小时
发表于 2016-3-23 20:40:16 | 显示全部楼层 |阅读模式
1金钱
各位大神,最近遇到一个奇怪的问题,就是主程序里面只有一个两个动作,就是灯亮和灯灭,但是程序下载后就和流水灯的状态是一样的,一直在闪烁,请问这是怎么回事?                            delay_init();                     //延时函数初始化                      GPIO_ResetBits(GPIOA,GPIO_Pin_8); //LED0输出低
//                GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
                delay_ms(300);
                GPIO_SetBits(GPIOA,GPIO_Pin_8);//LED0输出高
//                GPIO_ResetBits(GPIOD,GPIO_Pin_2);//LED1输出低
                delay_ms(300);
主函数里面只有这些,程序下载后就和流水灯一样在执行,这是为什么?应该是执行一次就停止的,为什么会循环执行呢?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-3-23 20:48:33 | 显示全部楼层
首先你写的代码是错误的,代码执行完,下一步,处理器根本不知道干嘛,应改跑飞。。。。其次,编译器可能帮你添加了while,具体是不是这样,未知
回复

使用道具 举报

13

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2015-5-14
在线时间
65 小时
 楼主| 发表于 2016-3-23 21:05:06 | 显示全部楼层
jermy_z 发表于 2016-3-23 20:48
首先你写的代码是错误的,代码执行完,下一步,处理器根本不知道干嘛,应改跑飞。。。。其次,编译器可能帮 ...

这个程序如果在最后加上while(1);循环的话就会LED1就一直输出为低了,如果不加while(1),程序执行就类似于流水灯一样,用仿真看了一下,始终会进入
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
        IMPORT  SystemInit
        IMPORT  __main

                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
有没有什么合理的解释?除了程序跑飞了,或者CPU自动复位,有没有别的合理的解释?
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-3-23 21:06:51 | 显示全部楼层
灵魂的重量 发表于 2016-3-23 21:05
这个程序如果在最后加上while(1);循环的话就会LED1就一直输出为低了,如果不加while(1),程序执行就类似 ...

我没说在你最后加上while  呵呵   
学无止境
回复

使用道具 举报

9

主题

80

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2015-2-9
在线时间
51 小时
发表于 2016-3-23 23:16:58 | 显示全部楼层
这个现象表示你的单片机不停在复位。。。具体原因就不知道了,
回复

使用道具 举报

2

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2014-12-29
在线时间
36 小时
发表于 2016-3-24 09:25:01 | 显示全部楼层
本帖最后由 hhlh2l 于 2016-3-24 09:40 编辑

我想我说的不大对,没有什么意义,就想把回复删了,但不不知道怎么删,要我至少输入6个字
回复

使用道具 举报

6

主题

188

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2016-1-19
在线时间
38 小时
发表于 2016-3-24 09:31:30 | 显示全部楼层
不要拿着不完整的框架考验st,他不会去配合你,你要去了解他。
原来你也在这里
回复

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-4-28
在线时间
5 小时
发表于 2016-3-24 14:35:22 | 显示全部楼层
应该是你的单片机在不停的复位,你看看你的程序中是不是无意中加了看门狗或者复制别人的时候没有把狗去掉
回复

使用道具 举报

10

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2015-6-2
在线时间
22 小时
发表于 2016-3-24 17:46:49 | 显示全部楼层
给个一半的程序出来,让人怎么帮你看,起码把main()函数粘出来
回复

使用道具 举报

28

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
243
金钱
243
注册时间
2015-12-26
在线时间
34 小时
发表于 2016-3-24 18:04:43 | 显示全部楼层
同意!
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-3-24 22:33:13 | 显示全部楼层
你用过51吗?我记得当初入门的时候不知道什么是while(1);写的程序也是一样在执行,记得是main执行完了再从头执行
我有故事,你有酒吗
回复

使用道具 举报

69

主题

495

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2193
金钱
2193
注册时间
2015-11-14
在线时间
541 小时
发表于 2016-3-24 22:48:05 | 显示全部楼层
要多聊才会像你这样把while去掉了,再思考没有while为什么会一直循环!千万种想法都见过,这么nc的还是第一次见
回复

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2016-1-11
在线时间
19 小时
发表于 2016-3-25 00:08:49 | 显示全部楼层
单片机那为什么会复位啊?他又没有添加看门狗,应该直接跑飞了吧。单片机在没有添加看门狗会自动复位吗?
回复

使用道具 举报

1

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2016-1-6
在线时间
33 小时
发表于 2016-3-25 09:04:54 | 显示全部楼层
回复

使用道具 举报

6

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2019-12-12
在线时间
9 小时
发表于 2020-3-19 15:41:13 | 显示全部楼层
单模先声 发表于 2016-3-24 22:48
要多聊才会像你这样把while去掉了,再思考没有while为什么会一直循环!千万种想法都见过,这么nc的还是第一 ...

那你倒是给个解释,只会喷?
回复

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
146
金钱
146
注册时间
2020-3-2
在线时间
30 小时
发表于 2020-3-20 11:22:18 | 显示全部楼层
灵魂的重量 发表于 2016-3-23 21:05
这个程序如果在最后加上while(1);循环的话就会LED1就一直输出为低了,如果不加while(1),程序执行就类似 ...

11111111111111111111111111111
1_wps图片.jpg
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 02:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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