Tengo un PIC18F14K22 conectado a un chip de memoria flash (Winbond W25Q80BV) a través de SPI y tengo problemas para leer la salida del chip. Específicamente, la salida de datos flash se distorsiona cuando conecto su línea de salida al pin PIC de SDI. Si solo observo la salida flash de un analizador lógico, puedo verificar que se está produciendo la salida correcta. Mi pensamiento es que posiblemente la línea SDI (RB4) no esté en modo High-Z, pero explícitamente la estoy configurando como una entrada: TRISBbits.RB4 = 1; // RB4 / SDI es una entrada
Tenga en cuenta que puedo usar este puerto SPI correctamente con otro chip (no un chip de memoria, otra cosa).
He intentado tirar de la línea alta y baja para desviar en cualquier dirección. Sin embargo, la línea SI cambia de nivel, simplemente no lo suficientemente rápido o quizás no sea lo suficientemente fuerte como para producir la señal correcta.
Aquí hay una demostración del analizador lógico de cuándo la señal SO parece correcta (no está conectada a PIC SDI) y luego, después de conectarlo, la señal incorrecta: enlace
¿Alguna idea?