| Идентификатор: Заголовок | hisf_0064: Операции сдвига для Stateflow® данные для улучшения податливости кода | |
|---|---|---|
| Описание | Чтобы улучшить податливость кода сгенерированного кода операциям сдвига битов Stateflow, не выполняйте: | |
| A | Операции правого сдвига, большие, чем ширина бита входного типа, или на отрицательное значение. | |
| B | Операции со сдвигом влево, большие, чем ширина бита выходного типа, или на отрицательное значение. | |
| Примечание | Если вы следуете этому и другим руководствам по моделированию, вы увеличиваете вероятность генерации кода, который соответствует стандартам кодирования. | |
| Объяснение | Чтобы избежать операций сдвига в сгенерированном коде, которые могут быть нарушением стандарта кодирования. | |
| Проверки Model Advisor | Проверяйте использование операций сдвига для данных Stateflow (Simulink Check) | |
| Ссылки |
| |
| Необходимые условия | hisl_0060: Параметры конфигурации, улучшающие податливость C:2012 MISRA | |
| Последнее изменение | R2021a | |
| Примеры | Неправильный
Правильный Выполните операции сдвига в пределах заданной области значений входа и выходных сигналов.
Правильный Когда операции сдвига больше, чем ширина входных сигналов, выполните явное преобразование. Поскольку выход может содержать окончательное значение, преобразование препятствует записи выхода как 0 во время генерации кода.
| |
| Идентификатор: Заголовок | hisf_0065: Введите операции приведения в Stateflow, чтобы улучшить податливость кода | |
|---|---|---|
| Описание | В диаграммах Stateflow, которые используют язык действий C, используйте := обозначение для защиты от целого числа и вычислений с фиксированной точкой Stateflow к более широким типам данных, чем входные типы входных данных. | |
| Примечание | Если вы следуете этому и другим руководствам по моделированию, вы увеличиваете вероятность генерации кода, который соответствует стандартам кодирования. | |
| Объяснение | Чтобы избежать неявных приведений в сгенерированном коде, которые могут нарушить стандарты кодирования. | |
| Проверки Model Advisor | Проверяйте операции назначения в диаграммах Stateflow (Simulink Check) | |
| Ссылки |
| |
| Необходимые условия | hisl_0060: Параметры конфигурации, улучшающие податливость C:2012 MISRA | |
| Последнее изменение | R2021a | |
| Идентификатор: Заголовок | hisf_0211: Защита от использования унарных операторов в диаграммах Stateflow для улучшения податливости кода | |
|---|---|---|
| Описание | Для улучшения податливости кода сгенерированного кода: | |
| A | Не используйте унарные операторы минус на неподписанных типах данных. | |
| Примечание | MATLAB® и языки действий C не ограничивают использование унарных минусовых операторов в беззнаковых выражениях. | |
| Объяснение | Улучшите податливость кода сгенерированного кода. | |
| Проверки Model Advisor | Проверяйте диаграммы Stateflow для унарных операторов (Simulink Check) | |
| Ссылки |
| |
| Последнее изменение | R2017b | |