首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

关于收发脉冲

关于收发脉冲

1。外部晶振为16M,按照MC9S12的标准配置,内部总线时钟是否为25M?
2。想要实现测频及产生脉冲,测频:用脉冲累加器记录外部脉冲个数,用定时中断每1S记录累加器的值。产生脉冲:用输出比较,每当比较事件发生,控制引脚电平跳变并使主计数器清零。方法可行吗?有更好的方法吗?
1、晶振是16M,如果不使用PLL,那么内部时钟总线为8M,使用PLL后可以提升至25M,也可以超频,超到40M,在高的频率我就没有到过了。不过地球人都说超频后不稳定:)
测量脉冲数可以用倒计数模数计数器来进行脉冲累计。产生脉冲可以用PWM模块。
海纳百川  有容乃大

谢谢
另外请问以下程序为什么不能进入中断?
interrupt void TimerOverflow(void) {
TFLG2_TOF = 1;
……
}

void main(void)
{
TSCR2_PR = 3;
TSCR2_TOI = 1;
TSCR1_TEN = 1;
TFLG2_TOF = 1;
for (;;)
{
……
}
}

已经在PRM文件中加入VECTOR ADDRESS 0xFFDE TimerOverflow

[此贴子已经被作者于2007-5-18 10:51:23编辑过]

中断程序是否放入了非分页地址?
海纳百川  有容乃大
我在中断函数上面加了#pragma CODE_SEG __NEAR_SEG NON_BANKED
但问题依然存在
把整个project打包贴出来看看吧。
海纳百川  有容乃大
http://bbs.chinaecnet.com/uploadImages/int_test.rar
在for循环前面加一个EnableInterrupts;指令就可以啦。
海纳百川  有容乃大
呵呵,相当不好意思,谢谢啊

除了用VECTOR ADDRESS 的方法设置中断向量,好象还可以在函数声明的时候设置,请问具体格式是怎样的?两者是一样的效果吗??

[此贴子已经被作者于2007-5-19 21:18:43编辑过]

返回列表