Hi:
问一个关于MSP430的定时器捕获脉冲的问题。
我的使用场景:
使用MCU控制开启电机,并且在电机开启正常转动,电机正常转速大于2转/秒,同时通过定时器捕获并计数电机的转动圈数(红外编码脉冲信号,每圈1个脉冲),如果在15秒内,电机转动圈数到达30圈,则系统状态为正常,且系统程序运行到下一步。如果在电机接通情况下连续2秒内检测不到脉冲或者15秒内转动圈数不到30圈,即则状态为异常,进入异常状态程序。
这里面涉及2个东西,一个是时间15秒,一个是脉冲个数30,脉冲是随机的所以要用中断捕获。这个功能使用定时器A是否可以实现以上功能。需要计时器再计时的同时还要捕获计数外部的脉冲,不知这样是否可行。
定时15秒,我的系统TimerA0是使用个32768Hz的信号,TimerA0进行8分频,其信号频率为4096,如果使用16位的TimerA0的TA0R溢出为2^16,65536,则占用时间为16秒,可以测量16秒内电机的脉冲计数。
脉冲,对于电机的转动脉冲检测是否可使用TA0CCRx,在定时器技术的同时,捕获计数脉冲个数,不知这样理解是否有问题,或者如何实现我所需要的功能最好。
thanks!
WENYAN YUE:
不知如何使用MSP430检测外部随机脉冲并且计数最方便,谢谢
WENYAN YUE:
是不是可以直接使用IO外部中断进行脉冲计数更方便?
灰小子:
回复 WENYAN YUE:
是的,用io中断更方便。
当你也需要用一个定时器来定时2秒和15秒,时间到了判断接收到的脉冲数
WENYAN YUE:
回复 灰小子:
谢谢回复,我用IO的中断实现试试