Tengo un PIC18F4680 y quiero interactuar con un módulo Ecan y UART al mismo tiempo. Estoy enviando el mensaje UART correctamente y leyendo el bus CAN correctamente, pero al intentar hacer ambas cosas al mismo tiempo, el microcontrolador deja de funcionar. ¿El PIC18F4680 puede administrar ambas comunicaciones sin fallar?
Si no es posible trabajar con ambas comunicaciones al mismo tiempo, ¿qué microcontrolador debo usar? El código de programación se realiza para MicroC, por lo que preferiría un microcontrolador que sea compatible con MicroC.
He intentado simplificar la arquitectura del firmware, pero aún así no funciona. Aquí está el código:
Msg_Rcvd = CANRead(&CAN_RxID, data_rx, &rx_DLC, CAN_Rcv_Flags);
id = CAN_RxID;
dato = data_rx;
UART1_Write('$');
UART1_Write(dato[0]);
UART1_Write(dato[1]);
UART1_Write(dato[2]);
UART1_Write(dato[3]);
UART1_Write(dato[4]);
UART1_Write(dato[5]);
UART1_Write(dato[6]);
UART1_Write(dato[7]);
He guardado los valores leídos del bus CAN en diferentes variables para evitar usar ambas comunicaciones al mismo tiempo, pero no funciona. No estoy familiarizado con las interrupciones, y no sé exactamente cómo usarlas. ¿Alguien ha hecho algo similar con interrupciones?