Кастинг режимов

Описание

Задайте, как генератор кода бросает типы данных для переменных.

Генерация кода Category:> Стиль кода

Настройки

Значение по умолчанию: Nominal

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;
  }

Standards Compliant

Сгенерируйте код, который бросает типы данных, чтобы соответствовать стандартам 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);
  }

Explicit

Сгенерируйте код, который бросает значения типа данных явным образом.

/* 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'

Рекомендуемые настройки

ПриложениеУстановка
ОтладкаНикакое влияние
ТрассируемостьНикакое влияние
ЭффективностьНикакое влияние
Меры безопасностиНикакое влияние

Похожие темы