TI中文支持网
TI专业的中文技术问题搜集分享网站

28335 ECap和I/O口复用切换问题

 我用三个ECap口(ECap1,2,3)捕获三路霍尔信号的上升沿和下降沿,在ECap中断中将三个ECap口设置为I/O口读霍尔信号的电平,出中断时再把ECap口设置为捕获口。但出现了一个很诡异的问题。ECap中断进入一次后,不转电机了,但dsp还一直在执行ECap中断程序,出不了中断。原因应该是在捕获中断时将ECap口设置为I/O口所导致的。请问有什么解决的办法吗??先谢谢了。。

Hank Zhao:

没必要使用GPIO来检测霍尔信号的电平,设置CAP1上升沿捕获,CAP2下降沿捕获,在中断程序中比较两个捕获寄存器值的大小,CAP1的值大就是高电平,CAP2的值大就是低电平。

 我用三个ECap口(ECap1,2,3)捕获三路霍尔信号的上升沿和下降沿,在ECap中断中将三个ECap口设置为I/O口读霍尔信号的电平,出中断时再把ECap口设置为捕获口。但出现了一个很诡异的问题。ECap中断进入一次后,不转电机了,但dsp还一直在执行ECap中断程序,出不了中断。原因应该是在捕获中断时将ECap口设置为I/O口所导致的。请问有什么解决的办法吗??先谢谢了。。

qin sun:

可以直接读取,不需要转换

 我用三个ECap口(ECap1,2,3)捕获三路霍尔信号的上升沿和下降沿,在ECap中断中将三个ECap口设置为I/O口读霍尔信号的电平,出中断时再把ECap口设置为捕获口。但出现了一个很诡异的问题。ECap中断进入一次后,不转电机了,但dsp还一直在执行ECap中断程序,出不了中断。原因应该是在捕获中断时将ECap口设置为I/O口所导致的。请问有什么解决的办法吗??先谢谢了。。

Shuhui Zhang:

回复 qin sun:

谢谢了,你的意思是说我不用再把捕获口设置成I/O口的,直接可以读电平?

 我用三个ECap口(ECap1,2,3)捕获三路霍尔信号的上升沿和下降沿,在ECap中断中将三个ECap口设置为I/O口读霍尔信号的电平,出中断时再把ECap口设置为捕获口。但出现了一个很诡异的问题。ECap中断进入一次后,不转电机了,但dsp还一直在执行ECap中断程序,出不了中断。原因应该是在捕获中断时将ECap口设置为I/O口所导致的。请问有什么解决的办法吗??先谢谢了。。

Eric Ma:

回复 Shuhui Zhang:

GPIO口即使配置为外设功能,如eCAP功能,GPIO的IO输入通道依然是通路的,所以你可以通过GPIO DATA 寄存器来查看电平状态。不需再配置回去。

Eric

 我用三个ECap口(ECap1,2,3)捕获三路霍尔信号的上升沿和下降沿,在ECap中断中将三个ECap口设置为I/O口读霍尔信号的电平,出中断时再把ECap口设置为捕获口。但出现了一个很诡异的问题。ECap中断进入一次后,不转电机了,但dsp还一直在执行ECap中断程序,出不了中断。原因应该是在捕获中断时将ECap口设置为I/O口所导致的。请问有什么解决的办法吗??先谢谢了。。

zhangbing zhang:

您好 我现在控制直流无刷电机遇到了和您一样的问题 进入cap中断之后出不来了  不知道怎么办 请您帮帮我吧

 我用三个ECap口(ECap1,2,3)捕获三路霍尔信号的上升沿和下降沿,在ECap中断中将三个ECap口设置为I/O口读霍尔信号的电平,出中断时再把ECap口设置为捕获口。但出现了一个很诡异的问题。ECap中断进入一次后,不转电机了,但dsp还一直在执行ECap中断程序,出不了中断。原因应该是在捕获中断时将ECap口设置为I/O口所导致的。请问有什么解决的办法吗??先谢谢了。。

Eric Ma:

回复 zhangbing zhang:

是不是Ecap的中断标志位没有清除掉。

参考例程C:\ti\controlSUITE\device_support\f2833x\v141\DSP2833x_examples_ccsv5\ecap_capture_pwm

ERIC

赞(0)
未经允许不得转载:TI中文支持网 » 28335 ECap和I/O口复用切换问题
分享到: 更多 (0)