84

帖子

0

TA的资源

一粒金砂(初级)

21
 

发个源程序!

 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

22
 

上位机程序及协议

 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

23
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

24
 

晚上看看,自己测试一下。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

25
 

嗯,你们也测测,什么板子应该都可以调通。

把自己发的库发上。
还有一个是官方的库,就不用上传了。
相关链接:https://bbs.eeworld.com.cn/upfiles/img/20092/2009219183232397.rar
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

26
 

偶的也是复位后为0XFFFF!

不按复位键,重复仿真复位也没问题,但按了板上的复位键就OVER了。

此帖出自stm32/stm8论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

27
 

连 RTC_PRL也是如此。

                                 可能是哪里不对吧!这与手册不符啊!
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

28
 

我的ALR寄存器不能保存,其它均可以

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

29
 

这样?好, 晚上回去再看看!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

30
 

我忽略了一个问题,刚刚与同事讨论了一下,ALR寄存器不可

这是一个只写寄存器,不可读,所以你读出什么值都是有可能的。

至于ALR的内容是否在复位后还能保存,我将做一个实验,看看复位后,在安排好的闹钟时间是否能产生闹钟中断,如果可以在要求的时间产生中断,则说明ALR内容没有丢失。
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

31
 

不能读?可是我程序里是直接读的寄存器,运行OK

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

32
 

呵呵,要麻烦香主请自测试一下了,!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

33
 

你是可以读

                                 读的操作并不影响系统的运行,因为读该寄存器没有任何实际意义。
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

34
 

我只是实现上下位机同步而已,检查设置是否有效!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

35
 

既然手册上说不可读,读该寄存器就没有意义

如果你一定要读,读出什么数据都有可能。

如果要实现上下位机同步,请使用其它方法,如保存ALR数值在后备寄存器中。或干脆在每次上电时,重新写一遍ALR。
此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

36
 

可以后备域实现存储。只是这样不知存储ALR是否成功!

                                 嗯,只是觉得奇怪,不知每个芯片或系统是不是都是这样的!真要解决这个问题当然办法多啦!只是没根本解决而已,感觉不能读,设计不够合理!
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

37
 

ALR寄存器的值,肯定是可以保存的。

试验如下:
设置prescaler产生1S的秒中断,并在中断中toggle LD7
于是,RTC的counter就每秒一次的开始往上计数;

设置alarm=5,则当counter的值等于5时,产生报警中断,并在中断中toggle LD6。

如果不做进一步处理,counter就会0,1,2,3,4,5,6,7,这样的计数下去,直到0xffffffff才产生溢出中断。于是,在秒中断里处理:如果counter计数值等于6时,就set counter为0;让counter又从0开始计数;于是再等5秒,又会触发报警中断。

reset或者电池供电的况下,给板子断电,再跑。可以从LD6和LD7的闪烁情况看出来,PRL和ALR的值都还是保持第一次设置好的值。

该测试跑在万历EK-STM32F103ZET6上。
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

38
 

上传测试代码

请自己制定驱动的地址


相关链接:https://bbs.eeworld.com.cn/upfiles/img/20092/2009223152041840.zip
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

39
 

呵呵,之前太忙!

这两天终天抽出时间将之前我所存在的问题调了一下。
总结:
  经验证,RTC闹钟ALR寄存器不能读,只可写。读出的数据会有误。如果需要读,可用备份域寄存器实现存储和读取。我上面的问题,就在于读了ALR寄存器了。只要设定了,不需读取,复位后,CPU会按最后一次设定值进行闹钟。经验证正确。
   谢谢各位!
此帖出自stm32/stm8论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

40
 

谢谢楼主的反馈

                                 这说明注意看手册是多么的重要,注意看手册可以少走很多弯路。
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表