OpenEdv-开源电子网

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

复位后,程序不能正常运行

[复制链接]

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
发表于 2011-8-3 19:37:36 | 显示全部楼层 |阅读模式
最近想自己编点程序,就把第12和第14两个实验柔和到一起,
u16 adcx;
float temp;
   Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
LED_Init();
WKUP_Init();   

LCD_Init();  
Adc_Init();
也就是多加了一条复位的初始化,但是,程序运行后第一次复位可以正常运行,待机再唤醒,就只有屏幕量,没有显示,
再待机后后唤醒,程序又正常了,也就是奇数次唤醒程序正常,偶数次唤醒,程序不正常,请问这是怎么一回事?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2016-10-19
在线时间
36 小时
发表于 2016-10-19 19:40:39 | 显示全部楼层
合肥-文盲 发表于 2014-5-23 10:25
回复【14楼】正点原子:
---------------------------------
就mini板,解决了,原来没有串口初始化就会出现 ...

解决了,太给力了,我的这个问题也是没有串口初始化产生的,看了你的答案我试着在主函数里面加了一个串口初始化,但是下载之后还是不行。 接着我把串口初始化函数放到LCD初始化函数的前面,就完美解决了。只想说非常感谢
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-8-3 21:22:07 | 显示全部楼层
可能是LCD复位的问题.
因为我们的LCD复位是RST直接和STM32的RST连接的,你软件唤醒,并不会导致RST产生低电平,也就是不会去复位LCD.这样导致LCD无显示,至于奇偶次的问题,则比较奇怪了,你用示波器看看RST上的信号再说.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-8-3 22:01:53 | 显示全部楼层
试过了,待机和唤醒时,复位的电平都不会改变,原子哥,你能在你那边试一下吗。这个现象比较奇怪啊!
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-8-4 09:47:36 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
感觉不是复位的事,用示波器观察时,没看到复位电平的改变,但偶数次还是可以正常工作
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-8-4 11:39:14 | 显示全部楼层
你加入复位试试.
不过貌似不好加....
你试试无LCD的代码,好使不.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-8-5 08:45:14 | 显示全部楼层
lcd的代码的代码单独使用没问题,可不可能是是复位唤醒后从新向寄存器写值将寄存器复位了,所以导致偶数次不好用?
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-8-5 09:10:40 | 显示全部楼层
刚才试过了,如果是在程序里初始化两次
LCD_Init();
LCD_Init();
的话,就不会显示图像了。
现在就是想办法在偶数次唤醒时,不再第二次初始化,原子哥有什么好办法吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-8-5 09:14:20 | 显示全部楼层
这个应该不是问题的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-8-5 09:47:21 | 显示全部楼层
if(BKP->DR1!=0X5050) 我用这条语句判断初始化的条件,但是现象还是不对,这是怎么会回事?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-8-5 10:44:24 | 显示全部楼层
程序有问题咯.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2011-7-25
在线时间
0 小时
 楼主| 发表于 2011-8-5 11:03:56 | 显示全部楼层
找到了,貌似必须要配置一下RTC的时钟后才能写进BKP寄存器
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-8-5 12:43:55 | 显示全部楼层
 
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

983

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1848
金钱
1848
注册时间
2013-4-15
在线时间
163 小时
发表于 2014-5-22 16:10:28 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
在做SPI实验,遇到一个好奇怪的问题,我断电或者按复位键后,显示屏就不能显示了,白屏,但是我第一次程序下载进去能正常显示,按KEY0也能写,WK_UP也能读,这是什么情况?那么奇怪
合肥-文盲
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-22 17:03:57 | 显示全部楼层
回复【13楼】合肥-文盲:
---------------------------------
没遇到过,你是哪个开发板?
直接下载我们的例程?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

983

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1848
金钱
1848
注册时间
2013-4-15
在线时间
163 小时
发表于 2014-5-23 10:25:28 | 显示全部楼层
回复【14楼】正点原子:
---------------------------------
就mini板,解决了,原来没有串口初始化就会出现这问题
合肥-文盲
回复 支持 反对

使用道具 举报

26

主题

96

帖子

0

精华

高级会员

Rank: 4

积分
669
金钱
669
注册时间
2015-9-15
在线时间
143 小时
发表于 2015-11-27 20:18:43 | 显示全部楼层
回复【15楼】合肥-文盲:
--------------------------果然是这个问题,但是为什么呢?
回复 支持 反对

使用道具 举报

7

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2016-10-19
在线时间
36 小时
发表于 2016-10-19 19:30:48 | 显示全部楼层
合肥-文盲 发表于 2014-5-23 10:25
回复【14楼】正点原子:
---------------------------------
就mini板,解决了,原来没有串口初始化就会出现 ...

楼主我也遇到这个问题了,也是手动复位后lcd屏幕什么也不显示,白屏,你说的没有串口初始化是什么意思啊?
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2013-8-8
在线时间
11 小时
发表于 2016-12-19 17:37:21 | 显示全部楼层
dmfy 发表于 2016-10-19 19:40
解决了,太给力了,我的这个问题也是没有串口初始化产生的,看了你的答案我试着在主函数里面加了一个串口 ...

但是为什么加了串口初始化就解决了这个问题了?这是个问题。
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2013-8-8
在线时间
11 小时
发表于 2016-12-19 17:53:25 | 显示全部楼层
合肥-文盲 发表于 2014-5-23 10:25
回复【14楼】正点原子:
---------------------------------
就mini板,解决了,原来没有串口初始化就会出现 ...

我也遇到同样问题,有点坑,困扰多天。
回复 支持 反对

使用道具 举报

4

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2016-5-10
在线时间
21 小时
发表于 2017-5-27 16:44:08 | 显示全部楼层
dmfy 发表于 2016-10-19 19:40
解决了,太给力了,我的这个问题也是没有串口初始化产生的,看了你的答案我试着在主函数里面加了一个串口 ...

确实啊为什么串口初始化要放在LCD初始化前面呢? 各个初始化函数应该独立没影响啊,为什么呢?
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-12-24
在线时间
1 小时
发表于 2018-12-24 12:31:08 | 显示全部楼层
464893214 发表于 2017-5-27 16:44
确实啊为什么串口初始化要放在LCD初始化前面呢? 各个初始化函数应该独立没影响啊,为什么呢?

LCD初始化函数里有用printf打印液晶型号,在lcd.c  661行。我把那行注释掉就好了,复位后正常,但是断电后重新上电液晶屏会闪烁四次然后正常。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-12-24
在线时间
1 小时
发表于 2018-12-26 15:39:30 | 显示全部楼层
看了其他帖子,把供电口换成USB那个断电复位就不会出现闪烁
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 23:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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