在电机运行的过程中已经成功修改USER_MOTOR_MAX_CURRENT的值,为什么修改后的值不发挥作用?而是以第一次设置USER_MOTOR_MAX_CURRENT的值为准。在关闭电机后修改USER_MOTOR_MAX_CURRENT的值,可以发挥作用。
也就是在for(;;){ }大循环中修改USER_MOTOR_MAX_CURRENT的值起作用,在while(gMotorVars.Flag_enableSys)小循环中修改不起作用。
这是为什么呢?
for(;;)
{
// Waiting for enable system flag to be set
while(!(gMotorVars.Flag_enableSys));
// Enable the Library internal PI. Iq is referenced by the speed PI now
CTRL_setFlag_enableSpeedCtrl(ctrlHandle, true);
// loop while the enable system flag is true
while(gMotorVars.Flag_enableSys)
{
CTRL_Obj *obj = (CTRL_Obj *)ctrlHandle;
// increment counters
gCounter_updateGlobals++;