HVBLDC_Sensored这个历程中,使用到三个定时器,
现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
HVBLDC_Sensored这个历程中,使用到三个定时器,
现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。
shizhong ji,
该例程采用典型的前后台架构(中断+循环),对三个定时器的使用是不一样的:Timer0用以触发中断MainISR来完成实时控制,每个中断中进行ADC采样、PWM占空比计算等;而Timer1和Timer2只是一般的外部的定时循环,不用于触发中断,只是在for循环中利用中断标志CpuTimer1Regs.TCR.bit.TIF来判断定时周期是否到了,而且定时周期较长(ms级)。配置完之后三个定时器都开始工作,只是后面两个需要等进入主循环for中后才能进行判断标志位然后进行处理,如A0、B0、A1、B1等。