搜索
bottom↓
回复: 5

飞思卡尔的mc9s12DG128时钟问题

[复制链接]

出0入0汤圆

发表于 2007-9-27 21:39:54 | 显示全部楼层 |阅读模式
mc9s12DG128时钟问题

通过PLL锁相环在外部晶振为16MHz时得到24MHz, 现为了证实是否是24MHz,设置了主定时器(4分频),这时定时器在10922.66us后就应溢出(公式为(4/24)*65536=10922.66us),但我在PB0口接了示波器观看,发现为7ms左右,望各位高手指正,到底什么地方错了



#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"


//初始化外围设备接口
void PeriphInit(void)
{

unsigned char clear;

DisableInterrupts; //关全局中断

// PB[7..0] 作为输出,初始为高电平
PORTB = 0xFF;
DDRB = 0xFF;

//初始化主定时器
TSCR1 = 0x80; /* enable timer TCNT */
TSCR2 = 0x82; /* TCNT prescaler setup 4分频*/


//设置PLL锁相环(内部)时钟24MHz为系统时钟 (外部时钟为16MHz,经PLL内部时钟为24MHz)
CLKSEL &= 0x7F;
REFDV = 1;
SYNR = 2;
while(!(CRGFLG&0x08));
CLKSEL |= 0x80;


EnableInterrupts; //开全局中断

}

//主定时器中断
#pragma CODE_SEG NON_BANKED
void interrupt Int_TimerOverFlow(void)
{
unsigned char i;

TFLG2_TOF = 1; //clear timer overflow flag
PORTB_BIT0=!PORTB_BIT0;

}

#pragma CODE_SEG DEFAULT


void main(void)
{
/* put your own code here */

PeriphInit();

for (;;) ;

}

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

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

出0入0汤圆

发表于 2007-12-29 15:29:47 | 显示全部楼层
不太清楚你的问题在哪里,不过,试试用这个程序初始化
REFDV=1;
SYNR=2;
_ASM
{
  BRCLR CRGFLG , #$08,*
  BSET  CLKSEL,  #$80
}
头像被屏蔽

出0入0汤圆

发表于 2008-4-12 11:41:35 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-11-17 20:04:16 | 显示全部楼层
要证实是否24MHz直接配置到PE4用示波器看看不就结了?

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-6-15 04:11

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

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