想实现的功能为:捕获正弦波的过零点,并在过零点处,事件管理器定时器归零重新计数,定时器归零触发下溢中断;
遇到的问题是:(1)捕获的周期值不对,与周期值相差不少,定时器周期大概为3.5us;(2)不确定下溢中断是否正确触发了;
那么主要疑问是:(1)是否在捕获中断内,将定时器计数值置零,便能够立即触发下溢中断(下溢中断已使能)?我是否对下溢中断理解有错误?
(2)捕获中断内,捕获周期值与实际周期值相差大概0.5us,是否正常(150MHz下,计数值相差80)?
(3)捕获中断,为防止捕获信号的抖动,硬件和软件防抖措施如何有效?我现在软件加了延迟,硬件加了C滤波。
谢谢回复!
Eason Wang:
Move to C2000 forum
想实现的功能为:捕获正弦波的过零点,并在过零点处,事件管理器定时器归零重新计数,定时器归零触发下溢中断;
遇到的问题是:(1)捕获的周期值不对,与周期值相差不少,定时器周期大概为3.5us;(2)不确定下溢中断是否正确触发了;
那么主要疑问是:(1)是否在捕获中断内,将定时器计数值置零,便能够立即触发下溢中断(下溢中断已使能)?我是否对下溢中断理解有错误?
(2)捕获中断内,捕获周期值与实际周期值相差大概0.5us,是否正常(150MHz下,计数值相差80)?
(3)捕获中断,为防止捕获信号的抖动,硬件和软件防抖措施如何有效?我现在软件加了延迟,硬件加了C滤波。
谢谢回复!
mangui zhang:
下面分享中有一楼中分享了事件管理器的详细讲解资料
请查找
http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/75000.aspx