После перечисления определенной в моем кодепредупреждение MISRA-C во время инициализации перечислимого типа
typedef enum e_gpio_pin
{
GPIO_PIN_1 = 1, /*!< pin 1 */
GPIO_PIN_2, /*!< pin 2 */
GPIO_PIN_3, /*!< pin 3 */
GPIO_PIN_4, /*!< pin 4 */
GPIO_PIN_5, /*!< pin 5 */
GPIO_PIN_6, /*!< pin 6 */
GPIO_PIN_7, /*!< pin 7 */
GPIO_PIN_8, /*!< pin 8 */
GPIO_PIN_9, /*!< pin 9 */
GPIO_PIN_10, /*!< pin 10 */
GPIO_PIN_FIRST = GPIO_PIN_1, /*!< first pin */
GPIO_PIN_LAST = GPIO_PIN_10 /*!< last pin */
} T_GPIO_PIN;
Теперь ниже линии использовали для инициализации переменной.
static const T_GPIO_PIN ioPin = GPIO_PIN_9;
и я получил предупреждение ниже
Выражение стоимости эфирного типа «По существу Enum» присваивается объекту эфирного типа «По существу ENUM» комментарий: MISRA 10,3 (C90-2012 req.)
У кого-нибудь есть идея, как я могу устранить это предупреждение?
Правило Misra 10.3 говорит, что вы используете более узкий тип, но ваша инициализация прекрасна. – venki
какой инструмент вы используете? LDRA? – venki
Да, пожалуйста, напишите имя инструмента, чтобы они получили имя и пристыдили публично. Там так много дерьмовых анализаторов. – Lundin