详细地比较它们也不是一两句话能说完,这里告诉大家一个方法:分块学习的方法。
看各个模块之前,最先要弄清楚工作过程。其次弄清楚参考时钟的设定(分频),接着是控制寄存器的设置
比如脉冲累加器这块:首先明确:肯定有功能开启设置(使能);即然是脉冲累加,肯定有沿的触发选择,看是上升沿还是下降沿;要不要级联,怎么控制级联。级联之后的数据处理有什么差异?;再就是必须有一个结果寄存器存结果(如果测的脉冲结果太多了,溢出了怎么办呢?)这都是一系列的问题,理清思路,先看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、建议测速时尽量用脉冲累加器,不要用输入捕捉,频繁地进中断没好处的。
上一篇:神经网络用于智能车控制的一点心得
下一篇:HCS12输入捕捉和输出比较(1)
推荐阅读最新更新时间:2024-03-16 14:39