TMOS如何进行微秒级延时?

582控制步进电机、语音芯片等,每一步的时间要进行百微秒级延时的IO控制,并且整个过程会持续几秒,请问如何保持蓝牙功能正常的情况下进行这样的控制?

我试过有SysTick来判决时间,并在等待期间循环调用TMOS_SystemProcess。但这样会造成进程重入吧?(产生电机控制事件应该就是由TMOS_SystemProcess处理事件时产生的),这个如何规避?

或者有其它更合理的方法,请指教!

有同样的需求


您好,如果期望驱动电机期间同时跑BLE,可以用定时器中断做。一方面定时器精度与主频一致,可以做20ns级别的精度;另一方面可以在BLE协议栈运行期间执行定时器中断,注意中断中执行的逻辑不能多,快进快出,可以做到不影响BLE。为了提高丢包断连故障的容错率,还可以加长超时时间。这样需要用到定时器,需要到32M晶振一直工作,故做不了休眠。


只有登录才能回复,可以选择微信账号登录