¿Se puede configurar Arduino MISO como salida?

2

Así que diseñé una PCB que consiste en un atmega328 que controla un potenciómetro digital (MCP4131) usando SPI. Estupidamente conecté la entrada / salida del potenciómetro al pin MISO (master in, slave out) en el arduino en lugar del pin MOSI (master out, slave in). Los pines SS y SCK están conectados correctamente. No hace falta decir que no he podido hacer que el pozo se comporte como debería, porque no puedo conseguir que el arduino hable con él.

Intenté acceder a la biblioteca SPI de Arduino y, en la función comenzar (), cambiar la línea

pinMode(MOSI,OUTPUT);

a

pinMode(MISO,OUTPUT);

Pero, esto no hace el truco. En mi alcance, puedo ver los bits que se envían cuando la olla está bien conectada (en mi tablero). Si pudiera romper el rastro en mi PCB y soldar un puente al pin derecho en el arduino, sería una buena solución. Pero prefiero poder hacerlo en software.

No tengo mucha experiencia con SPI. Actualmente lo estoy investigando, pero no he encontrado nada útil en la web. ¿Alguna idea sobre hacer que el pin MISO cambie a "MOSI"?

    
pregunta Ryan Tuck

3 respuestas

2

Arduino shiftout() es una implementación de software / bitbanged spi. Puedes usar eso en lugar de la biblioteca spi.

    
respondido por el Passerby
3

Si desea utilizar el módulo SPI integrado en el microcontrolador, debe usar los pines que elija. Están cableados.

Sin embargo, también puede usar los mismos pines como E / S de propósito general, lo que significa que puede golpearlo en lugar de usar la biblioteca SPI, pero eso es mucho más trabajo en el software. Es posible que pueda encontrar una biblioteca existente en algún lugar que lo ayude, pero personalmente me gustaría hacer girar o modificar el PCB y decir que es una lección aprendida.

    
respondido por el Karl Bielefeldt
2

Vea absolutamente shiftout y spi bit bang manual

    
respondido por el mpflaga

Lea otras preguntas en las etiquetas