Tengo cuatro nodos separados (A, B, C y D) que se transmitirán a través de un bus CAN común. Para que un paquete completo de datos se envíe a un nodo, cada controlador CAN debe enviar tres veces (20 bytes de datos).
Los nodos A, B y C solicitan datos de D.
A tiene una ID más baja que B, B tiene una ID más baja que C, pero mayor que A.
Mi pregunta es: si A envía su primer paquete a D y está a punto de enviar el segundo paquete (retraso debido a la carga de datos en los registros de transmisión), y si B detecta que el bus está inactivo, B comenzará enviar?
Incluso si B comienza a enviar, si se ha cargado el búfer de transmisión de A, ¿enviará A? Si A envía datos, ¿D recibirá los datos no corrompidos?
Nota: Estoy pensando en implementar intervalos de tiempo para cada nodo A, B, C (pero no usaré todo el potencial de CAN).