Задайте, как генератор кода бросает типы данных для переменных.
Генерация кода Category:> Стиль кода
Значение по умолчанию: Nominal
Сгенерируйте код, который использует кастинг типа данных компилятора C по умолчанию.
void rtwdemo_rtwecintro_step(void)
{
boolean_T rtb_equal_to_count;
rtDWork.X++;
rtb_equal_to_count = (rtDWork.X != 16);
if (rtb_equal_to_count && (rtPrevZCSigState.Amplifier_Trig_ZCE != POS_ZCSIG))
{
rtY.Output = rtU.Input << 1;
}Сгенерируйте код, который бросает типы данных, чтобы соответствовать стандартам MISRA®.
void rtwdemo_rtwecintro_step(void)
{
boolean_T rtb_equal_to_count;
rtDWork.X++;
rtb_equal_to_count = (boolean_T)(int32_T)((int32_T)rtDWork.X != (int32_T)16);
if (((int32_T)rtb_equal_to_count) && (rtPrevZCSigState.Amplifier_Trig_ZCE !=
POS_ZCSIG)) {
rtY.Output = (int32_T)(uint32_T)((uint32_T)rtU.Input << (uint32_T)(int8_T)1);
}Сгенерируйте код, который бросает значения типа данных явным образом.
/* Model step function */
void rtwdemo_rtwecintro_step(void)
{
boolean_T rtb_equal_to_count;
rtDWork.X = (uint8_T)(1U + (uint32_T)(int32_T)rtDWork.X);
rtb_equal_to_count = (boolean_T)((int32_T)rtDWork.X != 16);
if (((int32_T)rtb_equal_to_count) && ((int32_T)((int32_T)
rtPrevZCSigState.Amplifier_Trig_ZCE != (int32_T)POS_ZCSIG))) {
rtY.Output = rtU.Input << 1;
}Параметр: CastingMode |
| Ввод: символьный вектор |
Значение: 'Nominal' | 'Standards' | 'Explicit' |
Значение по умолчанию: 'Nominal' |
| Приложение | Установка |
|---|---|
| Отладка | Никакое влияние |
| Трассируемость | Никакое влияние |
| Эффективность | Никакое влияние |
| Меры безопасности | Никакое влияние |