Espero que esta pregunta no sea una repetición de otras en este intercambio de pila con respecto a SPI. He estado buscando durante al menos una hora y no he encontrado el mismo problema / respuesta.
SCENARIO
Mis amigos y yo intentamos que un codificador giratorio y OLED funcionen juntos utilizando nuestro propio tablero personal. En este momento, solo queremos que la posición en el codificador se muestre en el OLED.
Un codificador rotatorio de posición absoluta está conectado a una placa de desarrollo que utiliza el chip ATmega2560 . El 2560 está hablando con el codificador con estos ajustes SPI:
-
Modo maestro (Modo SPI 3)
- Fase : 1
- Polaridad : 1
- SPI Prescaler en f_OSC / 128 (Frecuencia actual de la CPU = 16MHz)
OLED: Adafruit SSD1306, 1.3 "128x64
Codificador: posición absoluta iC-MU - Hoja de datos del codificador de posición iC-MU
Tengo el programa actual configurado para leer uno de los registros EEPROM internos del codificador cada segundo. Aunque todavía no estoy seguro de abordar la EEPROM con precisión, el problema que me gustaría abordar es diferente.
PROBLEM
No recibí una respuesta del codificador, así que conecté un osciloscopio y comprobé las cuatro líneas SPI, como se ve a continuación. Por alguna razón, la línea MOSI nunca cae por debajo de ~ 3.50V. El dispositivo receptor todavía consideraría esto como una señal ALTA.
He intentado acceder a las conexiones OLED SPI desde que la pantalla en sí funciona con SPI. No pasó nada nuevo. He comprobado que todavía tengo una placa que funciona, reconectando constantemente el OLED y desconectando el codificador. La junta definitivamente sigue funcionando.
¿Cuál podría ser el problema con el SPI? ¿Hay un nombre específico para este problema?