对于HCS12 ECT模块的一些心得
时间:11-25
来源:互联网
点击:
所周知,ECT模块是HCS12里相对比较复杂的一个部分.它主要有四个功能 2时钟也不好看, 3有时这个用了那个就不能用 4寄存器设置比较复杂,容易混淆。
详细地比较它们也不是一两句话能说完,这里告诉大家一个方法:分块学习的方法。
看各个模块之前,最先要弄清楚工作过程。其次弄清楚参考时钟的设定(分频),接着是控制寄存器的设置
比如脉冲累加器这块:首先明确:肯定有功能开启设置(使能);即然是脉冲累加,肯定有沿的触发选择,看是上升沿还是下降沿;要不要级联,怎么控制级联。级联之后的数据处理有什么差异?;再就是必须有一个结果寄存器存结果(如果测的脉冲结果太多了,溢出了怎么办呢?)这都是一系列的问题,理清思路,先看DS,再看别人的程序,会有较大的收获的。
这里,也主要对 脉冲累加器 作点说明。
明确:脉冲累加器计脉冲,计多长时间类的脉冲要定时控制读取。(PACA除外)
级联的情况:
PACA时:当PACTL_PAEN=1时将PAC2与PAC3级联成16位脉冲累加器A ,PT7为输入引脚,结果放在PACN32;用PACB做脉冲累计器的话,非常简单,甚至都不用开启定时器。只需用TCTL4中的EDG0B和EDG0A位设置有效沿,再用PBCTL开启PACB和中断即可。外部脉冲从PT0输入。
PACB时:当PBCTL_PBEN=1时将PAC0与PAC1级联成16位脉冲累加器B,PT0为输入引脚,结果放在PACN10。PACA用起来就比较麻烦一些,因为它的功能更加强大。它必须与定时器合用,而且即可以对外部脉冲计数,也可以根据外部电平宽度对内部总线频率计数。
不级联的情况:比较的简单,一一对应,看DS很容易。
另外:1、建议测速时尽量用脉冲累加器,不要用输入捕捉,频繁地进中断没好处的。
2、用的时候尽量用非级联或级联累加器PACB,PACA有点麻烦。
1、Pulse Accumulator(脉冲累加)
2、Modulus Down-Counter(模数计数器)
3、 Input Capture (输入捕捉)
4、 Output Compare (输出比较)
复杂就复杂在:1功能太多,详细地比较它们也不是一两句话能说完,这里告诉大家一个方法:分块学习的方法。
看各个模块之前,最先要弄清楚工作过程。其次弄清楚参考时钟的设定(分频),接着是控制寄存器的设置
比如脉冲累加器这块:首先明确:肯定有功能开启设置(使能);即然是脉冲累加,肯定有沿的触发选择,看是上升沿还是下降沿;要不要级联,怎么控制级联。级联之后的数据处理有什么差异?;再就是必须有一个结果寄存器存结果(如果测的脉冲结果太多了,溢出了怎么办呢?)这都是一系列的问题,理清思路,先看DS,再看别人的程序,会有较大的收获的。
这里,也主要对 脉冲累加器 作点说明。
明确:脉冲累加器计脉冲,计多长时间类的脉冲要定时控制读取。(PACA除外)
级联的情况:
PACA时:当PACTL_PAEN=1时将PAC2与PAC3级联成16位脉冲累加器A ,PT7为输入引脚,结果放在PACN32;用PACB做脉冲累计器的话,非常简单,甚至都不用开启定时器。只需用TCTL4中的EDG0B和EDG0A位设置有效沿,再用PBCTL开启PACB和中断即可。外部脉冲从PT0输入。
PACB时:当PBCTL_PBEN=1时将PAC0与PAC1级联成16位脉冲累加器B,PT0为输入引脚,结果放在PACN10。PACA用起来就比较麻烦一些,因为它的功能更加强大。它必须与定时器合用,而且即可以对外部脉冲计数,也可以根据外部电平宽度对内部总线频率计数。
不级联的情况:比较的简单,一一对应,看DS很容易。
另外:1、建议测速时尽量用脉冲累加器,不要用输入捕捉,频繁地进中断没好处的。
HCS12ECT模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)