请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR5989-MSP430FR5989-MSP430FR5989 EP 工具与软件:
您好!
我将使用宏进行一些计算。 我的函数收到一条警告、比如建议在运行时进行 ram、因此、我想使用 RAM 进行计算。 如何 在 RAM 中运行函数? 我将共享下面的宏和函数。
此致。
#define FGD_SW_CURR_VAL(VALUE) (VALUE * 2.0 * 1000.0 * 2.0 /4095.0 / 8.0) #define SYS_3V3_VOLT(VALUE) (VALUE * 2.0 *1000.0 * 2.0 /4095.0) #define SYS_5V_VOLT(VALUE) (VALUE * 2.0 * 1000.0 * 6.9 / 2.2 / 4095.0) #define VSENS_3V3_CURR(VALUE) (VALUE * 2.0 * 1000.0 / 4095.0 / 3.0) #define SYS_5VA_SW_CURR(VALUE) (VALUE * 2.0 *1000.0 *2.0 /4095.0 / 8.0) #define SYS_3V3_SENSE_VOLT(VALUE) (VALUE * 2.0 *1000.0 * 2.0 /4095.0) #define SYS_5VA_VOLT(VALUE) (VALUE * 2.0 * 1000.0 * 6.9 / 2.2 / 4095.0) #define SYS_5V_FGD_VOLT(VALUE) (VALUE * 2.0 * 1000.0 * 6.9 / 2.2 / 4095.0) #define IS_SYS_MON_VAL_IN_INTERVAL(VALUE, MIN_VAL, MAX_VAL) ((VALUE) >= (MIN_VAL) && (VALUE) <= (MAX_VAL)) //#pragma CODE_SECTION(CheckSysMonData, ".TI.ramfunc") uint16_t CheckSysMonData(volatile S_SYS_MON_DATA *sys_mon_data){ uint16_t sys_mon_status = SYS_MON_SUCCESS; if ( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_3V3_VOLT(sys_mon_data->Sys_3V3), EXPECTED_SYS_3V3 - SYS_VOLT_EPSILON ,EXPECTED_SYS_3V3 + SYS_VOLT_EPSILON )){ sys_mon_status |= VOLT_3V3_INTERV_ERR; } if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_5V_VOLT(sys_mon_data->Sys_5V), EXPECTED_SYS_5V - SYS_VOLT_EPSILON ,EXPECTED_SYS_5V + SYS_VOLT_EPSILON )){ sys_mon_status |= VOLT_5V_INTERV_ERR; } if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_5VA_VOLT(sys_mon_data->Sys_5VA), EXPECTED_SYS_5V - SYS_VOLT_EPSILON ,EXPECTED_SYS_5V + SYS_VOLT_EPSILON )){ sys_mon_status |= VOLT_5VA_INTERV_ERR; } if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_5V_FGD_VOLT(sys_mon_data->Sys_5V_FGD), EXPECTED_SYS_5V - SYS_VOLT_EPSILON ,EXPECTED_SYS_5V + SYS_VOLT_EPSILON )){ sys_mon_status |= VOLT_5V_FGD_INTERV_ERR; } if( !IS_SYS_MON_VAL_IN_INTERVAL(SYS_3V3_SENSE_VOLT(sys_mon_data->Sys_3V3_SENSE), EXPECTED_SYS_3V3 - SYS_VOLT_EPSILON ,EXPECTED_SYS_3V3 + SYS_VOLT_EPSILON )){ sys_mon_status |= VOLT_3V3_SENSE_INTERV_ERR; } return sys_mon_status; }