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

请教关于脉冲累加器的问题!!!

请教关于脉冲累加器的问题!!!

我用的是9S12DG128,资料介绍这个片子有两个16位的脉冲累加器,分别是PACA(与IC7共享输入引脚)和PACB(与IC0共享引脚),PACA累加结果放在寄存器PACN32,PACB累加结果放在寄存器PACN10,我的板子上脉冲信号是连到IC0的,脉冲下跳沿触发中断就很正常,但是PACB总是不工作,记数结果PACN10总是零;如果连到IC7上用PACA就可以了,PACN32里的值是正确的。请问有人遇到过这种问题吗?是什么原因?我现在需要两路测频率量,所以必须解决这个问题。
是下跳沿中断,因为我用这种方法测过频率,就是在一段时间内对下跳沿记数,然后算出频率,但是在高频的时候这种方法很占资源,所以就换成脉冲累加器,结果用PACA正常,PACB不工作,不知道怎么回事
电路中没有反相器,直接把数字信号发生器的脉冲信号接到IC0脚上也是一样的,PACB的控制寄存器是PBCTL,其中只有第六位和第一位有定义,分别是PBEN(PACB通道使能)和PBVOI(PACB溢出中断允许),datasheet上说PBEN=1,PACB即可工作,与定时器是否允许无关,但是我试了几块板子,包括清华motorola实验室的DG128开发板也是一样,真的不知道到底怎么回事,请各位帮帮忙!
Datasheet上写的4个8位脉冲累加对应的引脚分别就是IC0~IC4。
我那个问题也解决了,使用PACB时必须配置捕捉方式,我选的是捕捉下跳沿,所以TCTL4要设置为0x02,使用PACA不用配置,做下跳沿触发中断时配置过这个寄存器,可没想到脉冲累加器B也要配置,资料上也没写,大家以后就不会被这个问题耽误时间了,呵呵!
返回列表