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

controlsuite例程

HVBLDC_Sensored这个历程中,使用到三个定时器,

现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。

Eric Ma:

shizhong,

timer0是用来产生主中断的定时器,我记得应该是20k,另外两个定时器是用来跑后台任务的,即那个A1,A2的那些任务,所以周期比较长。

Eric

HVBLDC_Sensored这个历程中,使用到三个定时器,

现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。

Charles Ji:

回复 Eric Ma:

Eric

  你好,现在我想知道,为什么另外两个定时器只有运行到主循环时才启动,而timer0 配置后   StartCpuTimer0();就直接起动了

HVBLDC_Sensored这个历程中,使用到三个定时器,

现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。

Eric Ma:

回复 Charles Ji:

因为那两个是后台程序,在主循环中产生作用。

Eric

HVBLDC_Sensored这个历程中,使用到三个定时器,

现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。

Charles Ji:

回复 Eric Ma:

Eric

你好,请问这个程序里,那句话将这两个定时器配制成主循环中起作用呢?

HVBLDC_Sensored这个历程中,使用到三个定时器,

现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。

Martin Yu:

回复 Charles Ji:

shizhong ji,

该例程采用典型的前后台架构(中断+循环),对三个定时器的使用是不一样的:Timer0用以触发中断MainISR来完成实时控制,每个中断中进行ADC采样、PWM占空比计算等;而Timer1和Timer2只是一般的外部的定时循环,不用于触发中断,只是在for循环中利用中断标志CpuTimer1Regs.TCR.bit.TIF来判断定时周期是否到了,而且定时周期较长(ms级)。配置完之后三个定时器都开始工作,只是后面两个需要等进入主循环for中后才能进行判断标志位然后进行处理,如A0、B0、A1、B1等。

HVBLDC_Sensored这个历程中,使用到三个定时器,

现发现CPUTimer0定时器,配置后立即启动,而CPUTimer1和CPUTimer2,直到主循环for(;;)才开始启动,这是为什么,我发现命令都是一样的。

user4315565:

回复 Martin Yu:

请问是在那里配置的呢?

我在controlsuite llc的例程里找不到相关配置,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » controlsuite例程
分享到: 更多 (0)