wangpengcheng 发表于 2014-2-27 22:01:27

分享:KE02库中的ICS设置选外部晶振时的小BUG

本帖最后由 wangpengcheng 于 2014-2-27 22:02 编辑

实验板:FRDM-KE02Z

编译环境:KEIL4.72a

实验过程:
KE02库文件Demo中,在KE02_Config.h中,配置时钟为 :
#define USE_FBE_OSC
#define EXT_CLK_FREQ_KHZ        10000       /* in KHz */
然后编译执行,结果程序运行到ICS.c文件中的void FEI_to_FBE_OSC(ICS_ConfigType *pConfig)函数里面的while(((ICS->S & ICS_S_CLKST_MASK) >> ICS_S_CLKST_SHIFT) !=2);语句,开始死循环。

问题原因:在ICS.c文件中的void ICS_Init(ICS_ConfigType *pConfig)函数中
else if (pConfig->u8ClkMode == ICS_CLK_MODE_FBE_OSC)
{
      pConfig->oscConfig.bIsCryst = 0;      /* is clock */          
      FEI_to_FBE_OSC(pConfig);                /* switch to FBE mode with active oscillator input */
}
其中红色的语句代表关掉外部晶振,应该是
else if (pConfig->u8ClkMode == ICS_CLK_MODE_FBE_OSC)
{
      pConfig->oscConfig.bIsCryst = 1;      /* is clock */          
      FEI_to_FBE_OSC(pConfig);                /* switch to FBE mode with active oscillator input */
}
才对。

另外这样配置出来的BUS时钟是5M,默认除2了,所以在KE02_Config.h中应该将Bus时钟设置为下面的值
#defineBUS_CLK_HZ                5000000L

wdh2152 发表于 2014-2-27 22:44:56

已收 谢谢楼主

caesarsong 发表于 2014-3-14 00:42:38

谢谢楼主

FSL_TICS_ZP 发表于 2014-3-17 13:44:32

谢谢楼主的经验分享!!

Jay198787 发表于 2014-3-17 18:31:19

谢谢楼主分享,向楼主学习!!

caesarsong 发表于 2014-3-26 23:47:22

feichang感谢楼主呵呵

wuqt 发表于 2014-8-15 17:28:57

请问外部晶振用20M无源的内置负载电容 一直不起振是怎么回事? 跟软件配置没关系吧?
用11.0592M的都能起振。

最炫民族风 发表于 2014-8-15 17:33:59

wuqt 发表于 2014-8-15 17:28
请问外部晶振用20M无源的内置负载电容 一直不起振是怎么回事? 跟软件配置没关系吧?
用11.0592M的都能起 ...

那你如果加上外部电容是不是能起振呢?
还有,你20M的晶振是不是好的。

浪里白条 发表于 2014-8-16 10:58:25

楼主厉害,这都能发现。

web110 发表于 2014-8-19 09:34:50

这个要记录一下

ln08136207 发表于 2014-8-19 10:14:39

使用内部时钟,没测试过外部时钟函数{:lol:}

wangpengcheng 发表于 2014-8-24 16:30:21

谢谢莫大加精,呵呵!

rootxie 发表于 2014-8-24 18:00:02

谢谢楼主的经验分享!!

秦天 发表于 2014-8-24 18:59:31

多谢楼主指点呀

cn_x 发表于 2014-8-24 19:02:31

多谢楼主分享经验

WEIZ666 发表于 2014-8-24 19:06:47

多谢分享经验         

zhangchaoying 发表于 2014-8-24 19:36:33

实践是检验系统的唯一标准,谢谢分享。

laotui 发表于 2014-8-24 20:58:52

楼主的经验之谈,谢谢分享。

sblpp 发表于 2014-8-24 22:11:11

谢谢楼主分享!

wuqt 发表于 2014-8-25 10:57:51

最炫民族风 发表于 2014-8-15 17:33
那你如果加上外部电容是不是能起振呢?
还有,你20M的晶振是不是好的。

内部电容是匹配好的,就是Murata的内置电容的陶振。 换过几个都是振不起来。 换8M的就能很稳定的振起来。看来还是不要用20M的了。

laotui 发表于 2014-8-25 12:45:07

向楼主请教,要使用ke02的话一个工程都要包含哪些文件?

wangpengcheng 发表于 2014-8-25 12:51:34

laotui 发表于 2014-8-25 12:45
向楼主请教,要使用ke02的话一个工程都要包含哪些文件?

上次给你的库里面有所有的应用例程,你下下来打开看一下就知道了!
页: [1]
查看完整版本: 分享:KE02库中的ICS设置选外部晶振时的小BUG