Tengo un pic32 y estoy hablando con un spi o parte para almacenar algunos datos. Ahora, para la ráfaga, mi flash soporta 256 bytes a la vez y quiero usar mi DMA para transferir esto. Sin embargo, la parte requiere que CS permanezca bajo para los 256 bytes. Estaba leyendo ambas hojas de datos y tratando de entender el comportamiento de CS pero no entiendo muy bien.
Eché un vistazo a lo que sucede cuando leo un registro de estado de la memoria flash que requiere que use DMA para escribir 4 bytes. En el analizador veo que CS permanece bajo durante toda la transferencia, que es lo que quiero. ¿Pero cómo lo sabe? Solo hay un registro para escribir para el búfer spi (no se utiliza el modo fifos / mejorado). Entonces, ¿cómo diablos sabe el hardware que no he terminado después del primer byte?
Mi único pensamiento es que hay un búfer en el que se escribe, y otro búfer que desplaza los bits. Entonces, si lleno el búfer de escritura antes de que el búfer de cambio esté vacío, tal vez eso mantenga bajo el nivel de CS. No puedo probarlo y me gustaría entender cómo funciona antes de usarlo ciegamente.