搜索
bottom↓
回复: 9

那位老兄用过78F0511,使用外部有源晶振该怎么配置?

[复制链接]

出0入0汤圆

发表于 2012-4-26 17:04:33 | 显示全部楼层 |阅读模式
我用appliet生成初始化代码不起作用。那位指导下,相关代码如下,晶振是12.8M的
#define        CG_HISYSTEM_EXT                        0xc0        /* X1 as External clock input, X2 as I/O port */
#define        CG_OPERATING_OVER10M        0x01        /* 10 MHz < fxh <= 20 MHz */
#define        CG_MAINPERI_SYS                0x05        /* fxp = fxh,fprs = fxh */
#define        CG_CPUCLOCK                                0x07
#define        CG_CPUCLOCK_SOURCE                0x10
#define        CG_CPUCLOCK_FXP                        0x00        /* fcpu = fxp */
void SetClkExt(void)
{
                /* Set fxh */
        OSCCTL = CG_HISYSTEM_EXT | CG_OPERATING_OVER10M;
        MSTOP = 0;
        /* Set fprs */
        MCM = CG_MAINPERI_SYS;
        /* Set frh */
        RSTOP = 1;
        /* Set fsub */
        XTSTART = 0;
        /* Set fcpu */
        PCC &= (unsigned char)~(CG_CPUCLOCK | CG_CPUCLOCK_SOURCE);
        PCC |= CG_CPUCLOCK_FXP;
        /* Set frl */
        LSRSTOP = 0;
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-5-3 23:29:50 | 显示全部楼层
使用applite 工具 不用管 很顺手!

出0入0汤圆

 楼主| 发表于 2012-5-5 09:55:45 | 显示全部楼层
多谢2楼回复,我贴的代码就是applite生成的,但实际使用频率慢了很多,反而是有一台机使用晶体的配置可以用外部有源晶振可以工作,另外两台就不工作。

出0入0汤圆

发表于 2012-5-8 13:30:57 | 显示全部楼层
yangsen 发表于 2012-5-5 09:55
多谢2楼回复,我贴的代码就是applite生成的,但实际使用频率慢了很多,反而是有一台机使用晶体的配置可以用 ...

用applite生成的代码和楼主一样,都是在system.h和system.c里的。很遗憾帮不上什么忙啦,不知楼主有没有解决这个问题了呀

出0入0汤圆

 楼主| 发表于 2012-5-9 08:30:00 | 显示全部楼层
yumico 发表于 2012-5-8 13:30
用applite生成的代码和楼主一样,都是在system.h和system.c里的。很遗憾帮不上什么忙啦,不知楼主有没有 ...

还没有,现在先用能用的板把功能部分调完,回头再整

出0入0汤圆

发表于 2012-5-10 08:38:58 | 显示全部楼层
yangsen 发表于 2012-5-9 08:30
还没有,现在先用能用的板把功能部分调完,回头再整

只能先那么整着再说了。。。的确头痛啊

出0入0汤圆

发表于 2012-5-21 23:09:26 | 显示全部楼层
我有在用,不知楼主搞定了没有?

出0入0汤圆

发表于 2012-6-2 10:44:47 | 显示全部楼层
本帖最后由 xiaomaoci 于 2012-6-2 10:50 编辑

公司做产品有用0511,晶振用的是4.19M的陶瓷晶振
小弟不太懂这个怎么配置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-6-2 12:02:54 | 显示全部楼层
xiaomaoci 发表于 2012-6-2 10:44
公司做产品有用0511,晶振用的是4.19M的陶瓷晶振
小弟不太懂这个怎么配置。
...

void SetclkCrystal(void)
{
        unsigned char ucTemp1,ucTemp2;
/*------------------------------------------------------------------------------
        Initialize the clock generators
------------------------------------------------------------------------------*/
        OSTS =0x05;
        OSCCTL=0X40;        /*if clock is used OSC,OSCclk>10M,set AMPH bit*/
        MSTOP = 0;                //start extclk
        ucTemp1=0x1f;
#ifndef DEBUG_SIM
        do{
                ucTemp2=OSTC;
                ucTemp2&=ucTemp1;
        }while(ucTemp1!=ucTemp2);                //wait ext clk is ok

#endif
        MCM=0X05;                //hispeed system&device clk is set as extclk
        RSTOP = 0;                //stop inner hi speed clk
        XTSTART = 0;                //subclk pin use as gpio
        PCC=0X00;                //fxp=fosc/2
        LSRSTOP = 0;                //stop inner low speed clk
}
给你这段程序,这个程序是用晶振的4M,大于10M的OSCCTL=0X40;这句要改改

出0入0汤圆

 楼主| 发表于 2012-6-11 08:58:10 | 显示全部楼层
终于明白为什么用外部晶振不行了,外部晶体的输出信号幅度太小,只有1VP_P,用做系统时钟不能可靠工作。硬件要改版增加一个三极管放大一下就好了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-29 08:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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