Último mensaje de la página anterior:
Jeje, impossible is nothing, you knowLo de los registros de desplazamiento es relatívamente sencillo de hacer, y con lógica de 3,3v.
Es básicamente como funcionan los pads de NES y SNES. No más de 2 integrados, un sip de resistencias de pull-up, y un par de condensadores para evitar ruido en las señales.
El resto es todo por soft.
En cuanto a acceder a los puertos de GPIO es como acceder a una dirección más de memoria, por lo general hay una posición para configurar el comportamiento de cada bit como entrada o salida, y luego otra para leer y escribir.
Dependiendo de las funciones que pueda realizar el puerto de GPIO puede haber alguna otras posiciones para activar cosas como resistencias internas de pull-up, comparadores de tensión, etc...
Desde el punto de vista de Linux hay que realizar algunas tareas más, como solicitar el acceso al puerto, etc, pero eso ya es otro tema.
Con la raspi de momento no he hecho nada, pero en otro tipo de microcontroladores y SoCs sí, y no es demasiado complicado.
De echo, este sistema se utiliza desde siempre. El puerto IEC de los commodore de 8 bit es un claro ejemplo.