查看: 3987|回复: 12

[求助] KL05内部晶振怎么设置?

[复制链接]

该用户从未签到

3

主题

14

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2015-9-10
发表于 2014-12-13 09:48:38 | 显示全部楼层 |阅读模式
各位大神,小弟官网下载了一份KL05的示例代码,想试试跑内部32768晶振  FBI模式?   不知道怎么设置,sysinit函数里面直接改还是fei_fee里改?

我知道答案 目前已有12人回答

KL05-SC.rar

431.47 KB, 下载次数: 2, 下载积分: 威望 1

官网示例code

回复

使用道具 举报

该用户从未签到

3

主题

14

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2015-9-10
 楼主| 发表于 2014-12-15 08:25:46 | 显示全部楼层
sysinit函数我模式换成fei_fbi 也不行,版主帮帮忙吧
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-12-15 10:05:08 | 显示全部楼层
Smile乀 发表于 2014-12-15 08:25
sysinit函数我模式换成fei_fbi 也不行,版主帮帮忙吧

是要在sysint中修改时钟模式为FEI_FBI.
因为上电reset之后默认是FEI模式,要到FBI,就需要调用MCG中的FEI_FBI函数。
30.jpg
图中mcg_clk_hz =  fei_fee(CLK0_FREQ_HZ,HIGH_GAIN,CLK0_TYPE);
要修改为mcg_clk_hz =  fei_fee函数,具体是内部快速还是慢速,你可以自己选择。
这里选择了快速时钟,并且2分频,可以看到MCGout的时钟出来是2M,后续的串口等时钟需要你自己重新再配置下。


回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

14

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2015-9-10
 楼主| 发表于 2014-12-15 10:29:37 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-12-15 10:05
是要在sysint中修改时钟模式为FEI_FBI.
因为上电reset之后默认是FEI模式,要到FBI,就需要调用MCG中的FEI_ ...

非常感谢版主支持, 我之前一直用的是 mcg_clk_hz =fei_fbi(32768,1);    采用频率32.768KHz的时候没办法跑起来,我看fei_fee(CLK0_FREQ_HZ,HIGH_GAIN,CLK0_TYPE);外部晶振的时候也是32kHz   版主有没有相关文档给我个   万分感谢哈
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-12-15 10:34:38 | 显示全部楼层
Smile乀 发表于 2014-12-15 10:29
非常感谢版主支持, 我之前一直用的是 mcg_clk_hz =fei_fbi(32768,1);    采用频率32.768KHz的时候没办法 ...

你好,配置文档就是查看KL05的用户手册。
你配置fei_fbi(32768,1);肯定是不对的,因为你选择内部快速时钟,快速时钟是4M,你给了慢速时钟的时钟值,
在fei_fbi函数中判断时钟界限的时候就报错了。
其实你可以结合RM文档,然后自己debug单步跑看寄存器情况就明白了。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

14

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2015-9-10
 楼主| 发表于 2014-12-15 10:36:43 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-12-15 10:34
你好,配置文档就是查看KL05的用户手册。
你配置fei_fbi(32768,1);肯定是不对的,因为你选择内部快速时钟 ...

嗯 好的 我找到哪一块了  太粗心了  fei_fbi函数里面也挺清楚了。 再次感谢版主
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-12-15 10:39:44 | 显示全部楼层
Smile乀 发表于 2014-12-15 10:36
嗯 好的 我找到哪一块了  太粗心了  fei_fbi函数里面也挺清楚了。 再次感谢版主  ...

不客气,你先试试,然后顺着代码看。
如果还有不懂的,可以继续交流。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

14

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2015-9-10
 楼主| 发表于 2014-12-15 14:01:34 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-12-15 10:39
不客气,你先试试,然后顺着代码看。
如果还有不懂的,可以继续交流。

版主  mcg_clk_hz 我用fei_fbi(4000000u,1); 情况下 我的uart0_clk_khz、core_clk_khz、periph_clk_khz要怎么去算?
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-12-16 13:16:11 | 显示全部楼层
Smile乀 发表于 2014-12-15 14:01
版主  mcg_clk_hz 我用fei_fbi(4000000u,1); 情况下 我的uart0_clk_khz、core_clk_khz、periph_clk_khz要 ...

楼主先看看KL05的reference manual
第5章有个时钟结构图,你现在mcg_clk_hz知道了,这个值就是图中MCGOUTCLK,后续如何分配你的core,bus时钟,就根据OUTDIV1,OUTDIV4来决定。
时钟结构图如下:
31.jpg

回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

14

帖子

0

注册会员

Rank: 2

积分
69
最后登录
2015-9-10
 楼主| 发表于 2014-12-22 08:48:25 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2014-12-16 13:16
楼主先看看KL05的reference manual。
第5章有个时钟结构图,你现在mcg_clk_hz知道了,这个值就是图中MCGO ...

版主 不好意思 一直没来逛帖子。
uart0_clk_khz = mcg_clk_hz/1000;   
mcg_clk_khz = mcg_clk_hz / 1000;
core_clk_khz = mcg_clk_khz / (((SIM_CLKDIV1 & SIM_CLKDIV1_OUTDIV1_MASK) >> 28)+ 1);
periph_clk_khz = core_clk_khz / (((SIM_CLKDIV1 & SIM_CLKDIV1_OUTDIV4_MASK) >> 16)+ 1);
SIM_SOPT2 |= SIM_SOPT2_UART0SRC(1); // select the FLLFLLCLK as UART0 clock source
uart0_init (TERM_PORT,uart0_clk_khz,TERMINAL_BAUD);
不知为何打印一直是乱码   波特率为115200   
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-20 13:25 , Processed in 0.118457 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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