主题中讨论的其他器件:MOTORWARE
大家好、我将 f28027f launchpad 与 BOOSTXL-DRV8305搭配使用。
我正在修改实验10e、开始执行我正在处理的项目。 在文档中,它指出 mainISR()对时间至关重要,您可以通过查看 cpu_time 结构中的变量来监视它的执行时间。 motorware 文档还指出““cpu_time.timer_delta_max”的值小于“cpu_time.pwm_period”*2–100,以避免 ISR 时间溢出。”
我完成了代码工作、发现在 hal.c 文件中、cpu_time.pwm_period 似乎是由行设置的
uint16_t halfPeriod_cycles =(uint16_t)(systemFreq_MHz*pwmPeriod_usec)>> 1;
如果您使用的是低电感 PMSM、建议在前面的实验中增加 USER_PWM_FREQ_kHz 变量。 但是,如果将此变量增加得太多,则 CPU_TIME.PWM_PERIOD 的值将变得太低,时间关键型 mainISR()将违反上述条件以避免溢出。 这不会对 mainISR()增加任何内容,只需使用低电感电机并将 USER_PWM_FREQ_kHz 设置为30运行实验10e 即可。
代码正常工作,但我担心 mainISR()根据实验手册中的条件进行正确操作。 我的 cpu_time.timer_delta_max 当前为3140个计数。
我该如何降低 cpu_time.timer_delta_max 以使其处于实验室手册条件内? 我担心这一点、因为如果我开始编辑代码并添加其他中断、我需要注意所有潜在的冲突中断/事件、而我担心的是、实验室手册中缺少解释。