我用三个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
TI中文支持网



