25-04-2023, 05:43 PM
Hola! Estoy trabajando en un proyecto basado en procesador ESP32, el cual se comunica con otra placa por protocolo CANBUS.
El bitrate, es de 125k por lo que es presumiblemente, "rapido".
Estoy usando la libreria de Sandeep Mistry o conocida también como adafruit_CAN que es compatible con un transceptor CAN de Texas Instruments SN65HVD230.
Utilizo freeRTOS para un método que recibirá tramas por sockets, y las graba en la placa.
Luego la propia librería dota de un callback atachado a la isr para recibir las respuestas.
Aquí empieza mi problema, si le mando una trama por segundo, todo es maravilloso, pero en el momento que empiezo a mandarlas cada 200ms , puedo ver (con un analizador can enganchado al bus desde el pc) que las tramas están llegando, se estan recibiendo en la placa y esta está contestando, pero mi transceiver no dispara el callback.
He probado con olvidarme del callback y utilizar otro método de Rtos para la lectura, con el mismo resultado.
¿Alguna idea?
Gracias de antemano.
El bitrate, es de 125k por lo que es presumiblemente, "rapido".
Estoy usando la libreria de Sandeep Mistry o conocida también como adafruit_CAN que es compatible con un transceptor CAN de Texas Instruments SN65HVD230.
Utilizo freeRTOS para un método que recibirá tramas por sockets, y las graba en la placa.
Luego la propia librería dota de un callback atachado a la isr para recibir las respuestas.
Aquí empieza mi problema, si le mando una trama por segundo, todo es maravilloso, pero en el momento que empiezo a mandarlas cada 200ms , puedo ver (con un analizador can enganchado al bus desde el pc) que las tramas están llegando, se estan recibiendo en la placa y esta está contestando, pero mi transceiver no dispara el callback.
He probado con olvidarme del callback y utilizar otro método de Rtos para la lectura, con el mismo resultado.
¿Alguna idea?
Gracias de antemano.