msp430 DMA UART para Modbus

0

Estoy usando MSP430 UART con transferencia DMA para enviar paquetes Modbus. Como maestro al final del empacador, necesito cambiar mi línea de dirección del transceptor RS 485 para la recepción.
Estoy enviando 10 bytes en paquete y al final del último byte enviado quiero cambiar la línea de dirección. Pero la interrupción DMA ocurre cuando el conteo de bytes llega a cero y no cuando se transfiere el último byte. Por lo tanto, cambio la línea en la interrupción DMA, mi último byte no pasará por el transceptor.

    
pregunta prasad

1 respuesta

1

Cuando el DMA ha manejado el último byte, debe esperar a que el UART deje de estar ocupado (por lo general, esto se indica mediante el bit UCBUSY ).

Si tu chip no tiene una interrupción para eso, debes sondear el bit, o usar un temporizador que espere 10 bits.

    
respondido por el CL.

Lea otras preguntas en las etiquetas