Estoy tratando de usar el QuadSPI de STM32H743 como un SPI clásico pero usando cuatro líneas. El punto es que QuadSPI usa varias fases (instrucción, dirección, dummy, alternativa, datos) y me gustaría omitir todas las fases pero la fase de datos para recibir los datos. He usado las funciones de HALL para transmitir datos solo con la fase de datos y está funcionando bien (omitiendo el resto de las fases). Sin embargo, cuando intento hacer lo mismo en el modo de lectura indirecta (solo en la fase de datos, omitiendo el resto de las fases), la CPU se apila después de activar la recepción. Para que funcione, tengo que agregar cualquiera de las otras fases (ficticia, alternativa, dirección o instrucción)
¿Alguien sabe si es posible omitir todas las fases pero la fase de datos en modo de lectura indirecta? Sería como la recepción SPI clásica pero usando 4 líneas en paralelo. Escribo el registro CCR para iniciar la transacción de la siguiente manera:
MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_READ);
Según el manual debería ser posible. Enuncia lo siguiente:
El QUADSPI se comunica con la memoria Flash mediante comandos. Cada El comando puede incluir 5 fases: instrucción, dirección, byte alternativo, datos ficticios. Cualquiera de estas fases se puede configurar para que se salte, pero al menos una de las instrucciones, dirección, byte alternativo o datos La fase debe estar presente.