LED Driver IC STLED316S

3

Estoy luchando con la lectura de la hoja de datos para el controlador de LED discreto / STLED316S de 7 segmentos.

Estoy escribiendo código para un chip STM32, pero también estoy usando Arduinos. No tengo problemas para escribir el código, pero realmente tengo problemas para interpretar la hoja de datos (al parecer, también hay otras personas según una búsqueda de Google) para enviar los bits correctos a través de la interfaz SPI.

Básicamente, todo lo que quiero hacer es activar la pantalla y luego escribir el valor en los segmentos, pero simplemente no sé por dónde empezar. ¿Se supone que los datos se enviarán de un byte a la vez? , o cadenas de bytes? No estoy usando la interrupción de la llave en este momento, así que afortunadamente eso no se complica demasiado.

La hoja de datos se puede encontrar aquí .

Cualquier información sobre esto sería muy apreciada.

Editar:

Creo que he avanzado un poco, pero todavía no creo que sea correcto.

Correcto, creo que, aunque podría estar terriblemente equivocado, lo tengo. No gracias a la hoja de datos, pero, afortunadamente, otro chip similar de ST ( aquí ) ¡Tenía un poco mejor con un ejemplo!

Está bien, entonces:

  • STB LOW
  • Encender la pantalla 00001101
  • STB HIGH
  • STB LOW
  • Configurar la pantalla de 7 segmentos 00100000
  • Establezca la configuración 011111101 (Brillo 14/16, brillo constante, 6 dígitos en pantalla)
  • STB HIGH
  • STB LOW
  • Defina la dirección 00100000 (LED 2/7)
  • Escriba bytes para activar los segmentos 11111110 (escribe 8, no DP)
  • Escriba un byte para encender los segmentos del LED 3/7 11111110
  • STB HIGH

Creo que es lo que la hoja de datos está tratando de decir? Los últimos 2 bytes van en contra de lo que dice la hoja de datos, pero realmente no veo otra forma de escribirlo ... creo que el resto es correcto.

    
pregunta PatchedUp

1 respuesta

2

Mi conjetura sería esta:

Para encender la pantalla:

  • STB va bajo
  • Reloj en el byte 00001101 (0x0D)
  • STB va alto

Para escribir los segmentos:

  • STB va bajo
  • reloj en el comando Escribir: 00000000 (8 bits de ceros). Esto significa: es un comando de escritura, con direcciones que se incrementan automáticamente, escribiendo en la dirección 0x00 en la página 0x00.
  • Ahora puede registrar los datos para llenar la memoria. Consiste en seis bytes, uno para cada dígito.
  • STB va alto

Para registrar datos (asegúrese de que el reloj sea más lento que 1MHz):

  • STB va bajo
  • Bucle para 8 bits del byte
    • Establecer bit de salida de datos
    • El reloj se agota
    • El reloj va alto
  • Fin del bucle
  • STB va alto
respondido por el Rocketmagnet

Lea otras preguntas en las etiquetas