搜索
bottom↓
回复: 17

【求助】12dg256代替12dg128的问题(已解决)

[复制链接]

出0入0汤圆

发表于 2014-8-22 15:13:07 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-9-11 14:08 编辑

void Init_PLL(void)
{
    CRGINT = 0;                  //关中断
    CLKSEL_PLLSEL = 0;           //在未初始化PLL前不使用PLL的输出作为CPU时钟
    SYNR = 2;
    REFDV = 1;                   //PLLCLK=2×OSCCLK×(SYNR+1)/(REFDV+1),fbus=PLLCLK/2
    PLLCTL_PLLON = 1;            //开PLL
    PLLCTL_AUTO = 1;             //选取自动模式
    while (CRGFLG_LOCK == 0);    //等待PLL锁定频率
    CLKSEL_PLLSEL = 1;           //选择系统时钟由PLL产生
}
新手求助,同样的板子,128工程上没问题,到了256工程上就跳不出while循环!
已经蒙了!

出0入0汤圆

发表于 2014-8-22 15:22:58 | 显示全部楼层
楼主你好,关于16位芯片的问题,建议你到我们的官网提交一个技术服务请求,那边会有相关的工程师帮你解答。
建立服务请求的链接:
http://www.amobbs.com/thread-5570020-1-1.html
点击提交服务请求按钮,然后按照流程走。
问题内容请采用英文书写的方式。

出0入10汤圆

发表于 2014-8-22 15:28:23 | 显示全部楼层
时钟稳定应该是CRGFLG_LOCK==1

出0入0汤圆

 楼主| 发表于 2014-8-22 15:46:40 | 显示全部楼层
sunfulong 发表于 2014-8-22 15:28
时钟稳定应该是CRGFLG_LOCK==1

while (!(CRGFLG_LOCK == 1))试过了,不行的

出0入10汤圆

发表于 2014-8-22 15:59:38 | 显示全部楼层
犯戒和尚 发表于 2014-8-22 15:46
while (!(CRGFLG_LOCK == 1))试过了,不行的

先测一下晶振有无,电压是否正常,怀疑是晶振的问题。

出0入0汤圆

 楼主| 发表于 2014-8-22 16:01:50 | 显示全部楼层
sunfulong 发表于 2014-8-22 15:59
先测一下晶振有无,电压是否正常,怀疑是晶振的问题。

10块板子都这样,晶振,电阻,电容,单片机都换过了,应该不是硬件的问题,128就能用,怀疑是软件,但是看了一天的手册,也没找出毛病来,郁闷啊~

出0入0汤圆

发表于 2014-8-22 16:05:41 | 显示全部楼层
犯戒和尚 发表于 2014-8-22 16:01
10块板子都这样,晶振,电阻,电容,单片机都换过了,应该不是硬件的问题,128就能用,怀疑是软件,但是 ...

如果怀疑是软件问题,你可以到官网上找个这款芯片的例程,然后跑下试试。
或者自己用CW的PE生成一个跑也行。

出0入10汤圆

发表于 2014-8-22 16:10:06 | 显示全部楼层
官方例程中等待时钟稳定前面添加了两个空指令,不知道会不会有什么影响,如下:

    _asm(nop);         
    _asm(nop);
    while(!(CRGFLG_LOCK==1));      //when pll is steady ,then use it;

暂时搞不定的话先注释掉pll,程序还是能跑的,只是时钟不对。

出0入0汤圆

 楼主| 发表于 2014-8-22 16:34:02 | 显示全部楼层
sunfulong 发表于 2014-8-22 16:10
官方例程中等待时钟稳定前面添加了两个空指令,不知道会不会有什么影响,如下:

    _asm(nop);           ...

感谢你的回答,这个也试过了,本人愚笨,没找到官方例程,能不能传个给我,谢谢!有定时器,输入捕捉和输出比较等等的,时钟不能跑偏

出0入0汤圆

发表于 2014-8-22 16:42:18 | 显示全部楼层
这个网址http://www.amobbs.com/thread-5570020-1-1.html   你可以看看

出0入0汤圆

发表于 2014-8-22 17:35:48 | 显示全部楼层
我有一次跳不出while后来发现是晶振虚焊了!

出0入0汤圆

发表于 2014-8-22 17:58:36 | 显示全部楼层
我是来学习的。

出0入0汤圆

发表于 2014-8-22 19:40:23 | 显示全部楼层
呵呵,这个问题,以我的经验来说,肯定是硬件问题,主要的原因可能是pll方面的滤波网络参数不对,还有可能是modc引脚的电阻接法不对。

出0入0汤圆

发表于 2014-8-22 20:02:18 | 显示全部楼层
先确定硬件,再看软件。找找官方的DEMO试试看

出0入10汤圆

发表于 2014-8-25 07:26:43 | 显示全部楼层
犯戒和尚 发表于 2014-8-22 16:34
感谢你的回答,这个也试过了,本人愚笨,没找到官方例程,能不能传个给我,谢谢!有定时器,输入捕捉和输 ...

搞定了么,不好意思啊,周末出去玩了没上论坛。
void SetBusClk(void)  
{     
    CLKSEL=0X00;                // disengage PLL to system  
    PLLCTL_PLLON=1;         // turn on PLL  
    SYNR=0x00 | 0x01;   // VCOFRQ[7:6];SYNDIV[5:0]  
                        // fVCO= 2*fOSC*(SYNDIV + 1)/(REFDIV + 1)  
                        // fPLL= fVCO/(2 × POSTDIV)   
                        // fBUS= fPLL/2   
                        // VCOCLK Frequency Ranges  VCOFRQ[7:6]  
                        // 32MHz <= fVCO <= 48MHz    00  
                        // 48MHz <  fVCO <= 80MHz    01  
                        // Reserved                  10  
                        // 80MHz <  fVCO <= 120MHz   11                 
    REFDV=0x80 | 0x01;  // REFFRQ[7:6];REFDIV[5:0]  
                        // fREF=fOSC/(REFDIV + 1)  
                        // REFCLK Frequency Ranges  REFFRQ[7:6]  
                        // 1MHz <= fREF <=  2MHz       00  
                        // 2MHz <  fREF <=  6MHz       01  
                        // 6MHz <  fREF <= 12MHz       10  
                        // fREF >  12MHz               11                           
                        // pllclock=2*osc*(1+SYNR)/(1+REFDV)=32MHz;  
    POSTDIV=0x00;       // 4:0, fPLL= fVCO/(2xPOSTDIV)  
                        // If POSTDIV = $00 then fPLL is identical to fVCO (divide by one).  
    _asm(nop);          // BUS CLOCK=16M  
    _asm(nop);  
    while(!(CRGFLG_LOCK==1));     //when pll is steady ,then use it;  
    CLKSEL_PLLSEL =1;               //engage PLL to system;   
}  

出0入10汤圆

发表于 2014-8-25 08:31:32 | 显示全部楼层
http://www.amobbs.com/forum.php? ... 7155&highlight=步步倾心!-飞思卡尔官方例程讲解大全

出0入0汤圆

发表于 2015-6-15 14:39:38 | 显示全部楼层
本帖最后由 464839941xql 于 2015-6-15 14:43 编辑

这个问一下楼主,串联是怎么解决的?

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2015-6-16 08:59:14 | 显示全部楼层
464839941xql 发表于 2015-6-15 14:39
这个问一下楼主,串联是怎么解决的?

晶振电路改成这样的就行了!具体为什么不太清楚

本帖子中包含更多资源

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

x
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 20:15

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

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