es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MISRA C:2012 Regla-17.7

Estoy obteniendo una violación de la regla 17.7 de MISRA C:2012 para el código siguiente. Soy bastante nuevo en el código C y en los conceptos de MISRA. Cualquier sugerencia sería muy apreciada.

5277: Dem_SetEventStatus(Rte_PDAV_DemEvent_DtcC00100_1, EventStatus);
^
Msg(7:3200) 'Dem_SetEventStatus' devuelve un valor que no se está utilizando.
Regla 17.7 de MISRA C:2012

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La violación de la regla 17.7 de MISRA C:2012 ocurre porque la función Dem_SetEventStatus está devolviendo un valor que no está siendo utilizado. Para solucionar esta violación, el valor de retorno de la función debe ser capturado y utilizado correctamente en el código.

    Una solución es asignar el valor de retorno de la función a una variable y verificar el valor de la variable para asegurarse de que la función se ejecutó correctamente.

    Código de ejemplo:

    const Std_ReturnType setEventStatus = Dem_SetEventStatus(Rte_PDAV_DemEvent_DtcC00100_1, EventStatus);
    if(setEventStatus != E_OK) {
        // manejar el error
    }
    

    Este código asignará el valor de retorno de Dem_SetEventStatus a la variable setEventStatus y verificará si hay algún error devuelto por la función. Si hay un error, se ejecutará el código dentro de la declaración if.

    Es importante manejar correctamente los errores en el código C, y MISRA C:2012 proporciona pautas para garantizar que el código sea robusto y confiable.

Comments are closed.