¿Hay una configuración de zancada para DMA PIC32MX?

1

Estoy leyendo los registros en la guía del usuario para el DMA y no veo uno, pero quería asegurarme. Esperaba que, además del tamaño de celda, también hubiera un tamaño de zancada. Entonces, por ejemplo, si tuviera 1000 bytes, pero solo quiero que el DMA transfiera todos los demás bytes. Con otro DMA podría establecer el tamaño de mi celda de transferencia en 1, mi paso como 2 y mi longitud en 1000. Luego terminaría con 500 bytes, o cualquier otro byte de la fuente, en mi destino.

    
pregunta confused

1 respuesta

1

El DMA en el PIC32MX no puede omitir ningún byte. Puede establecer el tamaño de la celda y el tamaño del bloque. Para lograr el efecto que está buscando, puede usar el encadenamiento de canales, a veces llamado modo ping pong. Para lograr un flujo ininterrumpido se utilizan dos canales DMA. Mientras que uno está transmitiendo, el segundo está preparado y cuando el primero termina, el segundo se activa automáticamente.

Con esta configuración, podría usar un bucle for (), por ejemplo, para ordenar el conjunto de datos para eliminar cada uno. Establecer el DMA para transmitir. Luego ordene el conjunto de datos para el segundo canal DMA y espere a que termine el primero. Cuando termina, el segundo canal se activa sin problemas y puede ordenar el conjunto de datos para el primer canal.

    
respondido por el vini_i

Lea otras preguntas en las etiquetas