Board logo

标题: [求助]MDC定时功能 [打印本页]

作者: fantaman    时间: 2006-10-12 13:28     标题: [求助]MDC定时功能

请教斑竹一个MDC使用的问题.
我用的是MC9S12D64,程序使用MDC模块实现简单定时功能.程序如下.


/*****************IC中断处理程序***************/
#pragma CODE_SEG NON_BANKED


void interrupt 25 MCCNT_ISR(void)
{
  MCFLG_MCZF  = 0x80; //清中断标志
  MCCNT=250;          //初始化MDC
  MCCTL_FLMC  = 1;    //强制加载MDC
}


#pragma CODE_SEG DEFAULT
 
********************主程序*******************/
void main(void)                                                
{
  /* put your own code here */
 
 ICSYS  =0X00;    //计数值满后回零,禁止保持寄存器,
                  //队列方式、记录IC时刻主定时器的值。
 MCCTL_MCEN =0;   //计数器复位 
 MCCNT=125;       //初始化MDC
 MCCTL_FLMC =1;   //强制加载MDC
 MCCTL_MCPR0=1;   //
 MCCTL_MCPR1=1;   //分频系数为16 


 MCCTL_MODMC=1;     //模数计数方式,开始循环计数。
 MCCTL_MCZI =1;     //允许中断   
 
 EnableInterrupts;


 for(;;) {} /* wait forever */
  /* please make sure that you never leave this function */
}


调试的时候不能进入MDC中断,请问这是什么原因?


 


作者: fantaman    时间: 2006-10-12 13:30

MDC的中断向量是否是25?
作者: strongchen    时间: 2006-10-12 13:59

MDC的中断矢量号应该是26吧。其实,如果你不能确定中断号,最好采用在PRM文件中申明的格式,式如:

VECTOR ADDRESS OxFFCA MCCNT_ISR

此时在程序中中断矢量就不必写标号了:

void interrupt MCCNT_ISR(void)
{
...
}
作者: fantaman    时间: 2006-10-12 15:01

OxFFCA??
我在《motorola 68HC12系列微控制器原理、应用与开发技术》中看到中断矢量是FFCC-FFCD
因为没有专门针对S12系列的书,只好拿HC12当做参考了,难道是书上错了?
请问斑竹有没有S12系列的书推荐?
另外,感觉freescale在产品推广方面做得很差,连一些基本功能的参考程序都没有,中电网能不能在这方面做些工作,把一些最基本的功能程序发布出来,这样大家学习起来有个参考,对推广freescale也有好处啊!
作者: strongchen    时间: 2006-10-12 15:14

不同芯片的中断矢量是不一样的,要看芯片各自的数据手册。
飞思卡尔在文档和资料方面做得还是不错的。你到D64的主页上,可以看到很多的参考文档,包括源程序。另外,CodeWarrior本身也带了很多参考代码。用CodeWarrior的PE,还能自动生成C代码。D64主页的链接是:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC9S12D64&nodeId=0162468636K1002065
作者: fantaman    时间: 2006-10-12 16:30

改成26以后还是不能进入,调试的时候MCCNT的值一直为65536.
似乎计数器没有自动减一.
另,模数常数计数器的英文是什么?书上有介绍这个积存器但是没有写出它的英文名字
作者: strongchen    时间: 2006-10-12 16:40

请参看S12ECT16B8V1.pdf的第42页。
作者: chftky    时间: 2006-11-14 13:30

当然进不了中断,MDC计数根本就没有开!
在(
MCCTL_MCZI =1; //允许中断

之后加MCCTL_MCEN =1; //允许计数




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0