OpenEdv-开源电子网

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

RTC时钟TFT彩屏问题

[复制链接]

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
发表于 2013-10-21 23:12:15 | 显示全部楼层 |阅读模式
时钟源选择内部低速40KHZ,我试了一下,就是每次都得初始化RTCu8 RTC_Init(void),程序才能跑,如果复位,立刻白屏,程序停止,这里我用
switch(calendar.week)
{
case 0:
LCD_PutString(40,140,"Sunday",0x0000,0xf800);
break;
case 1:
LCD_PutString(40,140,"Monday",0x0000,0xf800);
break;
case 2:
LCD_PutString(40,140,"Tuesday ",0x0000,0xf800);
break;
case 3:
    LCD_PutString(40,140,"Wednesday",0x0000,0xf800);
break;
case 4:
    LCD_PutString(40,140,"Thursday ",0x0000,0xf800);
break;  
case 5:
    LCD_PutString(40,140,"Friday",0x0000,0xf800);
break;
case 6:
    LCD_PutString(40,140,"Saturday ",0x0000,0xf800);
break;  

}
    LCDShow_uCharNumber(40,120,calendar.hour,2,0x0000,0xf800);  
LCDShow_uCharNumber(80,160,calendar.min,2,0x0000,0xf800);  
       LCDShow_uCharNumber(100,180,calendar.sec,2,0x0000,0xf800);
printf("miao:%d us\r\n",calendar.sec);//打印总的高点平时间
}
printf("miao:%d us\r\n",calendar.sec);//打印检测程序是否运行,一旦复位,TFT白屏,串口也打印不出数字,程序是死在哪里了,我的BAT接的是外部电源,没有纽扣电池,把电源线拔掉   bkb值会丢失,再上电,又重新初始化RTC,正常运行,总之就是复位程序就死吧。
后来又选外部8M128分频,也是一样的问题
经软件调式发现程序一复位就是死在这里了如图



这好像是在运行main之前的SystemInit()将时钟系统初始化为默认状态,卡在这里怎么回事
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-10-22 08:50:34 | 显示全部楼层
回复【楼主位】小伟:
---------------------------------
外接的32.768K的也不行?

你代码是不是在什么地方建立了循环检测,复位的时候没符合条件跳不出来,可以在你认为会死循环或者死机的地方加入代码将信息打印到串口,一步一步的下去,找到根源,不用printf()函数,直接写一个串口发送字符串的小代码就好,这个方法我调试的时候很爽,呵呵,大部分的问题这样都能自己搞定,希望对你有帮助
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
 楼主| 发表于 2013-10-22 13:25:39 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
复位就死在上面那里了,如图,重新下载程序程序也没用,必须程序初始化RTC才行,我用的是库函数
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-10-22 14:35:24 | 显示全部楼层
回复【3楼】小伟:
---------------------------------
下载例程进去看下有没这样的问题
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
 楼主| 发表于 2013-10-22 19:51:14 | 显示全部楼层
-
回复【4楼】Badu_Space:
---------------------------------
其他例程也是这样的问题,看来不是这里的问题,我点的是单步运行,就一直卡在那,而我设置断点,点跳出可以回到main,纠结了,
手册是这样的
备份区域拥有两个专门的复位,它们只影响备份区域(见图4)。
当以下事件中之一发生时,产生备份区域复位。
55/754
1.  软件复位,备份区域复位可由设置备份域控制寄存器(RCC_BDCR)(见6.3.9节)中的
BDRST位产生。
2.  在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

  如果LSE被选为RTC时钟:
─  只要VBAT维持供电,尽管VDD供电被切断,RTC仍继续工作。
●  如果LSI被选为自动唤醒单元(AWU)时钟:
─  如果VDD供电被切断,AWU状态不能被保证。有关LSI校准,详见6.2.5
59/754
节LSI时钟。
●  如果HSE时钟128分频后作为RTC时钟:
─  如果VDD供电被切断或内部电压调压器被关闭(1.8V域的供电被切断),则RTC状态不确
定。

我的VDD和BAT是连在一起的,VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。复位后程序正常,但是按下复位键,就死了,又得让VDD或VBAT上电将引发备份区域复位,按下复位键对时钟有什么影响吗
回复 支持 反对

使用道具 举报

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
 楼主| 发表于 2013-10-24 12:46:46 | 显示全部楼层
回复【4楼】Badu_Space:
----------------------------求指点
回复 支持 反对

使用道具 举报

23

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2013-10-8
在线时间
0 小时
 楼主| 发表于 2013-10-24 12:47:02 | 显示全部楼层
蛋疼啊
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-10-24 16:04:12 | 显示全部楼层
你换下这个启动文件看下

STM32启动文件.zip

8.29 KB, 下载次数: 50

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-10-24 16:04:45 | 显示全部楼层
回复【7楼】小伟:
---------------------------------
我的不会出现你的这个现象
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-10 15:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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