Estoy intentando que una pantalla OLED I2C (128x64) funcione en una BeagleBoneBlack . Desafortunadamente, no importa qué puerto I2C intente, no puedo ver el dispositivo cuando uso la utilidad i2cdetect. Como puede ver a continuación, i2c-0 y i2c-2 se pueden "escanear" con la utilidad, sin embargo, no aparece ningún dispositivo. Los paneles OLED generalmente se muestran a 0x3C o 0x3D (en este caso 0x3C). El panel OLED se controla mediante el controlador SSD1306. Todavía estoy aprendiendo sobre i2c, pero por lo que entiendo, un dispositivo debe tener una dirección única que se mostrará con la utilidad i2cdetect.
Cualquier consejo sobre solución de problemas sería útil. El código c ++ que tengo está bastante involucrado, pero puedo publicarlo si lo considera necesario.
El BeagleBone debería tener 2 puertos I2C disponibles según mis búsquedas en la web. He intentado todos los pares scl y sda listados en el encabezado P9.
Anteriormente,cuandouséunpanelLEDI2C,obtuvelasalidaacontinuaciónypudeescribirenvariospíxelesdelamatriz.Comopuedever,enesecasoteníaundispositivodisponibleen0x70.
ACTUALIZAR :
Le pregunté al autor de la biblioteca y esto es lo que escribió:
Parece que el dispositivo SPI que está utilizando puede no estar habilitado con una superposición del árbol de dispositivos. ¿Puedes intentar ejecutar este comando para mostrar todos los dispositivos SPI?
ls / dev / spi * Según el dispositivo y el puerto, debería ver un dispositivo /dev/spidev1.0. Si no ve ese dispositivo, deberá habilitarlo con una superposición de dispositivos. Consulte la parte inferior de esta página para obtener más información sobre cómo habilitar el dispositivo SPI: enlace
Otra cosa a tener en cuenta, ya que parece que estás usando Ubuntu. Asegúrese de que la versión del kernel sea 3.8.x y no una posterior como 3.14.x. Los kernels posteriores no admiten las superposiciones de árbol de dispositivos, por lo que no pueden agregar puertos SPI dinámicamente, etc. Puede verificar la versión del kernel ejecutando:
uname -r Si es un kernel posterior (como 3.14), intente instalar la imagen oficial de Debian desde allí, ya que todavía usa 3.8: enlace
Parece que / dev / spi * no existe, y que estoy ejecutando una versión posterior de ubuntu (3.14), que podría ser mala. Está un poco más allá de mí por qué Ubuntu 3.14 dejaría de soportar las superposiciones de árbol de dispositivos, y por qué no puedo acceder a estos pines.