Paso 2: Diseñar su BSP utilizando STM32Cube.
En este paso configuramos los periféricos y los relojes de la STM32F4.
Para empezar que, también puede abrir el archivo 32x32.ioc en el hw / carpeta con STM32CubeMX.
Básicamente necesitamos IOs siguientes:
- SPI de salida de datos y reloj (SPI1_MOSI y SPI1_SCK)
- 4 GPIOs para conducir la selección de línea (A, B, C, D)
- Dos GPIOs unidad OE y STB
Tenga en cuenta que los pines del puerto SPI son fijos. Los otros puertos se pueden elegir ser cualquier GPIO gratis. Usé el PC0 a PC3 de A D y PB0, PB1 OE y STB.
En cuanto a la configuración del reloj nos reloj de la STM32F4 poco a 64 MHz. Para estar en el lado seguro. Esto puede hacerse estableciendo el PLL principal y divisor valores a algo que funciona.
También tenemos que incluir el controlador SPI, permitir interrupciones y también habilitar el DMA. Sólo se muestran la primera página de las fichas, el resto es bastante autoexplicativo. Para llegar hasta el DMA para hacer lo correcto, que también tenemos configurar. Básicamente queremos el DMA para cambiar la ubicación de memoria de la fuente y escribir siempre en el mismo registro SPI. Es por eso busque "dirección de incremento" de la "memoria" y mantener un para "Periférico".
Para más tarde hace el PWM para obtener los niveles de brillo distintos y hacer la pantalla actualizar, utilizamos TIM3. Tenemos que habilitar interrupciones en la segunda pestaña (no mostrado aquí).
Utilizando la configuración en la primera pestaña, podemos calcular la tasa de interrupción:
(64000000Hz / 32 (prescaler)) / 130 = Hz 15384
Entenderemos por qué elegimos ese número cuando debatimos el controlador de pantalla.