关于TMS320F2812屏蔽中断的问题,谢谢!!

[复制链接]
4176|13
 楼主| 汉唐风2009 发表于 2009-10-15 15:55 | 显示全部楼层 |阅读模式
   各位朋友,大家好。我在网上找了篇**:《基于TMS320F2812事件管理器的一种测频方法.doc》。见附件。
   里面有段话,不清楚。如 "这里第一次捕捉屏蔽中断,第二次设置为和第一次捕捉相同的跳变沿捕捉,并开中断。"
   我这样考虑的:事件管理器Eva初始化由 void InitEv(void){} 完成并已开捕捉中断,我认为第一次捕捉也会进中断。
   这个测频率的程序我基本是按照这篇**做的,能测到频率。可是就是有上述不理解之处。请朋友们指导,谢谢!!
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
thf2008 发表于 2009-10-15 21:30 | 显示全部楼层
那得看你的寄存器怎么设置了
linhai2009 发表于 2009-10-15 21:46 | 显示全部楼层
恩,同意楼上的说法
 楼主| 汉唐风2009 发表于 2009-10-16 08:41 | 显示全部楼层
楼上的朋友好,谢谢能参与我的问题。我程序寄存器是这样设置的:

  EvaRegs.T1PR = 0xFFFF; //周期寄存器设为FFFF
  EvaRegs.T1CNT=0; //计数寄存器
  EvaRegs.T1CON.all=0; //定时器控制寄存器
  EvaRegs.T1CON.bit.TMODE=2; //连续增计数模式     EvaRegs.T1CON.bit.TPS=5; //64分频 ?32分频 EvaRegs.T1CON.bit.TENABLE=1; //使能定时器
EvaRegs.CAPCON.all=0; //捕捉控制寄存器 EvaRegs.CAPCON.bit.CAPQEPN=1; //使能捕捉 EvaRegs.CAPCON.bit.CAP1EDGE=1; //检测上升沿 EvaRegs.CAPCON.bit.CAP12TSEL=1; //选定时器1 EvaRegs.CAPFIFO.bit.CAP1FIFO=0; //CAP1FIFO空 EvaRegs.EVAIFRC.bit.CAP1INT=1;//清捕获中断1标志位EVA中断标志寄存器C) EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕获1中断使能 (EVA中断屏蔽寄存器C)

现在我上传我的测频率的pjt文件,请各位高手指导,不胜感谢!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
beny5566 发表于 2009-10-16 12:57 | 显示全部楼层
感觉设置没什么问题啊
坐等高手
 楼主| 汉唐风2009 发表于 2009-10-16 15:04 | 显示全部楼层
  谢谢朋友参与,既然寄存器设置为开中断了,如下:
  EvaRegs.EVAIMRC.bit.CAP1INT=1; //捕获1中断使能
  这句话:"这里第一次捕捉屏蔽中断,第二次设置为和第一次捕捉相同的跳变沿捕捉,并开中断。"
   不好理解?我认为每次捕捉都会进入中断程序。
  请各位朋友指导!
thf2008 发表于 2009-10-17 00:13 | 显示全部楼层
如果是这么设置的,还真不知道那里出了问题,那这个程序你在片子上运行了吗?是第一次就进入中断吗?
linhai2009 发表于 2009-10-17 13:08 | 显示全部楼层
我觉得有可能是他写错了
liliang9554 发表于 2009-10-17 17:10 | 显示全部楼层
寄存器
thf2008 发表于 2009-10-17 23:31 | 显示全部楼层
能说的明白些吗?我看不出哪个寄存器设置错了
 楼主| 汉唐风2009 发表于 2009-10-21 08:15 | 显示全部楼层
谢谢朋友们的参与,我查阅了关于捕获的相关内容,“第二次捕获使相应的捕获中断标志位置位”,我的理解是:第一次捕获不会使中断标志位置位。这样理解不知对否?谢谢大家!
hulan1985 发表于 2009-10-21 19:23 | 显示全部楼层
呵呵,新手啊
huziliu 发表于 2009-10-21 22:21 | 显示全部楼层
我觉得你的想法是对的
 楼主| 汉唐风2009 发表于 2009-10-22 14:03 | 显示全部楼层
谢谢朋友们!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

17

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部