查看: 6184|回复: 11

[已解决] KL25Z RTC模块初始化失败(已解决)

[复制链接]

该用户从未签到

2

主题

22

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
发表于 2013-3-21 15:31:24 | 显示全部楼层 |阅读模式
KL25Z 用内部32K时钟 初始化RTC模块 就会使芯片晶振设置失败。
 
附上程序
 
void rtc_init(uint32_t SecendTimes,uint32_t AlarmTimes)
{
        int i;
    SIM_SCGC6 |= SIM_SCGC6_RTC_MASK;//使能RTC时钟门控制
        OSC0_CR |= OSC_CR_ERCLKEN_MASK;
        SIM_SOPT1 |= SIM_SOPT1_OSC32KSEL(0); 
    
    RTC_CR  = RTC_CR_SWR_MASK;//软件复位RTC寄存器
    RTC_CR  &= ~RTC_CR_SWR_MASK;//软件复位之后清SWR位
 
    RTC_CR |= RTC_CR_CLKO_MASK |
              RTC_CR_SC8P_MASK  ;
       
        RTC_CR |= RTC_CR_OSCE_MASK;//使能32.768kHz振荡器

    for(i=0;i
我知道答案 目前已有11人回答
回复

使用道具 举报

该用户从未签到

13

主题

86

帖子

0

新手上路

Rank: 1

积分
130
最后登录
1970-1-1
发表于 2013-3-22 19:10:37 | 显示全部楼层

回复:KL25Z RTC模块初始化失败

同求
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-3-23 09:52:02 | 显示全部楼层

RE:KL25Z RTC模块初始化失败

从手册中可以清楚的看出,RTC模块一共有3个clock的来源。它们是LPO,RTC的时钟输入脚和OSC32KCLK。 其中LPO是内部的1KHz频率的时钟,OSC32KCLK也是外部的时钟产生的。请参考Clocking diagram这个框图。所以说RTC的时钟是不能用内部32.768K产生的。这个就应该是你程序跑飞的原因吧。
希望我的回答会对你有帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

6

帖子

0

新手上路

Rank: 1

积分
5
最后登录
1970-1-1
发表于 2013-3-24 20:21:49 | 显示全部楼层

RE:KL25Z RTC模块初始化失败

求积分的。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
 楼主| 发表于 2013-3-25 10:35:58 | 显示全部楼层

回复:KL25Z RTC模块初始化失败

回复第 3 楼 于2013-03-23 09:52:02发表:
从手册中可以清楚的看出,RTC模块一共有3个clock的来源。它们是LPO,RTC的时钟输入脚和OSC32KCLK。 其中LPO是内部的1KHz频率的时钟,OSC32KCLK也是外部的时钟产生的。请参考Clocking diagram这个框图。所以说RTC的时钟是不能用内部32.768K产生的。这个就应该是你程序跑飞的原因吧。
希望我的回答会对你有帮助。
 
感谢你的回答,
OSC模块 不是转变成OSC32KCLK给RTC  而是  OSC判断外部晶振 是32.768K从而给RTC么
 
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-3-25 11:09:28 | 显示全部楼层

回复:KL25Z RTC模块初始化失败(正解)

回复第 5 楼 于2013-03-25 10:35:58发表:
回复第 3 楼 于2013-03-23 09:52:02发表:
从手册中可以清楚的看出,RTC模块一共有3个clock的来源。它们是LPO,RTC的时钟输入脚和OSC32KCLK。 其中LPO是内部的1KHz频率的时钟,OSC32KCLK也是外部的时钟产生的。请参考Clocking diagram这个框图。所以说RTC的时钟是不能用内部32.768K产生的。这个就应该是你程序跑飞的原因吧。
希望我的回答会对你有帮助。
 
感谢你的回答,
OSC模块 不是转变成OSC32KCLK给RTC  而是  OSC判断外部晶振 是32.768K从而给RTC么
 

 

是的。关于OSC32KCLK,可以从附图中很明显的看出,这一点手册中画的很清楚。希望我的回答能够帮助你。
clock.JPG
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
 楼主| 发表于 2013-3-25 12:56:29 | 显示全部楼层

回复:KL25Z RTC模块初始化失败

回复第 6 楼 于2013-03-25 11:09:28发表:
回复第 5 楼 于2013-03-25 10:35:58发表:
回复第 3 楼 于2013-03-23 09:52:02发表:
从手册中可以清楚的看出,RTC模块一共有3个clock的来源。它们是LPO,RTC的时钟输入脚和OSC32KCLK。 其中LPO是内部的1KHz频率的时钟,OSC32KCLK也是外部的时钟产生的。请参考Clocking diagram这个框图。所以说RTC的时钟是不能用内部32.768K产生的。这个就应该是你程序跑飞的原因吧。
希望我的回答会对你有帮助。
 
感谢你的回答,
OSC模块 不是转变成OSC32KCLK给RTC  而是  OSC判断外部晶振 是32.768K从而给RTC么
 

 

是的。关于OSC32KCLK,可以从附图中很明显的看出,这一点手册中画的很清楚。希望我的回答能够帮助你。
 
感谢了  是我理解错了
 
回复 支持 反对

使用道具 举报

该用户从未签到

85

主题

790

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2279
最后登录
1970-1-1
发表于 2013-3-25 13:12:29 | 显示全部楼层

RE:KL25Z RTC模块初始化失败

呵呵,没关系的。欢迎经常到论坛上来逛逛。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

22

帖子

0

新手上路

Rank: 1

积分
30
最后登录
1970-1-1
 楼主| 发表于 2013-3-25 13:37:34 | 显示全部楼层

回复:KL25Z RTC模块初始化失败(已解决)

回复第 8 楼 于2013-03-25 13:12:29发表:
呵呵,没关系的。欢迎经常到论坛上来逛逛。
 
再问个问题,那RTC_IN可以用有源的32.768k的晶振输入吧?
 
回复 支持 反对

使用道具 举报

该用户从未签到

35

主题

508

帖子

0

金牌会员

Rank: 6Rank: 6

积分
2167
最后登录
1970-1-1
发表于 2013-3-25 13:56:44 | 显示全部楼层

回复:KL25Z RTC模块初始化失败(已解决)

回复第 9 楼 于2013-03-25 13:37:34发表:
回复第 8 楼 于2013-03-25 13:12:29发表:
呵呵,没关系的。欢迎经常到论坛上来逛逛。
 
再问个问题,那RTC_IN可以用有源的32.768k的晶振输入吧?
 

 

RTC_IN 只能接有源32.768KHz时钟源.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-5-9 01:16 , Processed in 0.159737 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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