Board logo

标题: [求助]有关MC9S12DG128定时器模块的问题(内附程序) [打印本页]

作者: superman0007    时间: 2007-8-8 21:15

请问有遇到这种情况的吗?希望能给予答复,谢谢
作者: superman0007    时间: 2007-8-8 22:15     标题: [求助]有关MC9S12DG128定时器模块的问题(内附程序)

使用MC9S12DG128过程中,在定时器模块遇到以下问题:例如使用ECT0引脚进行精确定时,当设置好分频因子后,按说当给TC0赋0x0000-0xffff之间的不同值时,其最终定时时间应该不同的,但是结果却是一样的,不知为什么?希望给予帮助,谢谢

程序如下:

#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

void main(void) {
//asm sei;

TSCR1=0x80;
TSCR2=0x87;   
TIE=0x01;    
TIOS=0x01;    
TCTL2=0x00;   
TFLG1=0x01; 
TC0=0xffff;

DDRB=0xff;
PORTB=0x00;

EnableInterrupts;

for(;;) {}
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED

interrupt void ECT0_ISR(){

TFLG1=0x01;
PORTB=0x77;
//asm cli;

}
#pragma CODE_SEG DEFAULT

[此贴子已经被作者于2007-8-8 22:15:56编辑过]


作者: strongchen    时间: 2007-8-9 15:39

你是用输出比较功能吗?要了解输出比较功能的具体含义:当计数器的值与通道寄存器的值相同是产生中断。所以产生中断的频率就是计数器的频率,不论通道寄存器的值是多少。
作者: superman0007    时间: 2007-8-10 20:05

1 我用的是输出比较功能。这样的话,只要分频数一定,定时时间就会确定的,对吧?
2 那么我要进行精确定时的话,用其它的方法寄存器还要如何配置?




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