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.

[参考译文] CCS/MSP432P401R:表达式必须是可修改的 lvalue

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/963969/ccs-msp432p401r-expression-must-be-a-modifiable-lvalue

器件型号:MSP432P401R

工具/软件:Code Composer Studio

 分配结构变量时遇到以下错误

compareConfig_PWM1.compareValue

erro:表达式必须是可修改的 lvalue

该结构位于定时器_中、内部 h       

变量为 compareValue

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    #include "steer.h


    /* Timer_A 上行配置参数*/
    CONST Timer_A_UpDownModeConfig upDownConfig =

    Timer_A_CLOCKSOURCE_SMCLK、// SMCLK 时钟源
    Timer_A_CLOCKSOURCE_DELAG_8、// SMCLK/1 = 3MHz
    30000、// 127个周期
    Timer_A_TAIE_INTERRUPT_DISABLE、//禁用计时器中断
    Timer_A_CCIE_CCR0_INTERRUPT_DISABLE、//禁用 CCR0中断
    Timer_A_DO 清除//清除值

    };

    /* Timer_A 比较配置参数(PWM1)*/
    CONST Timer_A_CompareModeConfig compareConfig_PWM1 =

    Timer_A_CAPTURECOMPARE 寄存器_1、//使用 CCR1
    Timer_A_CAPTURECMOLE_INTERRUPT_DISABLE、//禁用 CCR 中断
    Timer_A_OUTPUTMODE_TOGGLE_SET、//切换输出但
    29250 // 32占空比
    };

    /* Timer_A 比较配置参数(PWM2)*/
    CONST Timer_A_CompareModeConfig compareConfig_PWM2 =

    Timer_A_CAPTURECOMPARE 寄存器_2、//使用 CCR2
    Timer_A_CAPTURECMOLE_INTERRUPT_DISABLE、//禁用 CCR 中断
    Timer_A_OUTPUTMODE_TOGGLE_SET、//切换输出但
    26250 // 96占空比
    };
    空 Servo_TurnAngle (浮点值)

    f_cycle 浮点;
    f_cycle =(30000-3000/180)*值;//角度
    compareConfig_PWM1.compareValue = f_cycle;//new pulse    erro: expression 必须是可修改的 lvalue
    // TIM2_PwmConfig.dutyCycle =(INT16U) f_cycle;//新建脉冲
    MAP_Timer_A_initCompare (timer_A1_base、&compareConfig_PWM1);
    };

    timer_a.h  

    typedef 结构体_Timer_A_CompareModeConfig

    UINT_fast16_t compareRegister;
    uint_fast16_t compareInterruptEnable;
    uint_fast16_t compareOutputMode;
    uint_fast16_t compareValue;
    } Timer_A_CompareModeConfig;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="user5363230]compareConfig_PWM1.compareValue = f_cycle;//新脉冲    erro: 表达式必须是可修改的 lvalue  compareConfig_PWM1变量已声明为 const qualified、这说明了错误:

    [引用用户="user5363230"]确认 Timer_A_CompareModeConfig compareConfig_PWM1 =[/引用]