Estoy ejecutando mi primer programa de prueba CAN utilizando STM32CubeMX, STM32F103C8T6 y Eclipse.
Usé la configuración predeterminada de CAN en STM32CubeMX (también probé loopback pero los resultados son iguales).
Lo que veo (ver foto abajo) es dos cosas que no entiendo;
- En la imagen a continuación, puede ver que excedí la línea con hcan.pTxMsg- > StdId = 0x321 (óvalo rojo izquierdo), pero el valor actual muestra 536891392 (óvalo rojo derecho).
-
Cuando ejecuto la siguiente línea (verde): hcan.pTxMsg- > ExtId = 0x01, termino en una interrupción de falla dura:
/ **
-
@brief Esta función maneja la interrupción de falla dura. / void HardFault_Handler (void) { / EL CÓDIGO DE USUARIO COMIENZA HardFault_IRQn 0 * /
/ * FIN DEL CÓDIGO DE USUARIO HardFault_IRQn 0 / mientras (1) { } / EL CÓDIGO DE USUARIO COMIENZA HardFault_IRQn 1 * /
/ * FIN DEL CÓDIGO DE USUARIO HardFault_IRQn 1 * / }
-
¿Por qué no se actualiza el valor y por qué aparece un error de hardware (el puntero hcan.pTxMsg no es NULL ya que incluso muestra el campo StdId (incluso puede mostrar ExtId que tiene el valor 134222077 (no se muestra en la imagen de abajo) ?