Describe en detalle cómo instalar, configurar y utilizar el conjunto de herramientas i2c-tools.

El conjunto de herramientas i2c-tools es un recurso muy útil cuando necesita depurar y probar el bus I2C en sistemas integrados o dispositivos electrónicos. i2c-tools proporciona un conjunto de herramientas de línea de comandos que lo ayudan a escanear, leer, escribir en dispositivos I2C y realizar otras tareas relacionadas con la comunicación del bus I2C. En este blog, presentaremos en detalle cómo instalar, configurar y utilizar el conjunto de herramientas i2c-tools.

¿Qué son las herramientas i2c?

i2c-tools es un conjunto de herramientas de línea de comandos de código abierto para comunicarse con el bus I2C. Se utilizan ampliamente en sistemas operativos Linux para interactuar, depurar y probar dispositivos I2C. A continuación se muestran algunas herramientas comunes de i2c-tools:

  • i2cdetect: Se utiliza para escanear el bus I2C y enumerar los dispositivos conectados.
  • i2cget: Se utiliza para leer datos del registro del dispositivo I2C especificado.
  • i2cset: Se utiliza para escribir datos en el registro del dispositivo I2C especificado.
  • i2cdump: Se utiliza para mostrar el contenido del registro del dispositivo I2C en formato hexadecimal.
  • i2ctransfer: Se utiliza para realizar operaciones complejas de transferencia I2C.

A continuación, detallaremos cómo instalar y utilizar estas herramientas.

Usage: i2c-test <arguments>
Arguments:

*** I2C Functions ***
        -b <bus number>: Set the bus number for this transaction.  Defaults to 0
        -mm : Puts the device in Slave-Recieve mode and reponds to the message request
        -mmd : Puts the device in Slave-Recieve mode and show the receive data
        --sethost <addr>:       Set the host slave address
        --gethost:      Get the current host slave address for the specified bus
        --reset:        Reset the I2C controller
        --sysreset:     Emergency Reset the I2C controller Module
        --setspeed <speed>:     Set the bus speed
                        (Supported speed modes are: Standard - 0x64(100Kbits/sec), Fast - 0x190(400Kbits/sec)
        --scan:         Scan the I2C bus and show the slave addresses
                        that respond
        -s slave:       Communicate with the specified slave address in 7-bit format (in
                        hexadecimal)
                        Defaults to 0x5a
        -d <bytes>:     Send any number of data bytes to the specified slave.
                        Separate hexadecimal data bytes with spaces.  If this
                        flag is used, it must be the last one on the
                        command line.
                        EG: i2c-test -m 1 -d 0x00 0x01 0x02 0x03
        -rc count:      Read the specified number of bytes.  Defaults to 1
        -r:             Just read from the specified address, don't do a write.
        -w:             Just write to the specified address, don't do a read.
        -m mode:        Send and receive in the specified mode:
                        0: Write a data byte, then receive a data byte in
                           separate operations
                        1: Combined write and read using repeated start
                        Default mode is 0
        -f:             Repeat the specified test forever (stress test mode)
        -sbd:           Don't display any output unless there is an error
        --delay:        Specify the delay in milliseconds between tests in run forever mode
        --getrecinfo:   Get the current recovery info

Instalar herramientas i2c

i2c-tools se puede instalar fácilmente a través del administrador de paquetes en la mayoría de las distribuciones de Linux. Aquí hay algunos comandos comunes del administrador de paquetes para instalar i2c-tools:

Para Debian/Ubuntu:

sudo apt-get install i2c-tools

Para Fedora:

sudo dnf install i2c-tools

Para Arco Linux:

sudo pacman -S i2c-tools

Configurar el bus I2C

Antes de usar i2c-tools, debe asegurarse de que el bus I2C esté configurado y habilitado correctamente. Normalmente se encuentran los archivos de configuración para el bus I2C /boot/config.txt(para Raspberry Pi) o /etc/modules(para algunos sistemas Linux). Consulte la documentación de su sistema para conocer los pasos de configuración detallados.

Utilice herramientas i2c

Una vez que i2c-tools esté instalado y configurado, puede comenzar a usarlos para interactuar con dispositivos I2C. A continuación se muestran algunos usos de ejemplo:

1. Escanee el bus I2C

Utilice i2cdetectel comando para escanear los dispositivos en el bus I2C y enumerar sus direcciones. Por ejemplo, para escanear el bus I2C-1, ejecute el siguiente comando:

sudo i2cdetect -y 1

2. Lea el registro del dispositivo I2C

Utilice i2cgetel comando para leer datos del registro del dispositivo I2C especificado. Por ejemplo, para leer un byte de datos del registro 0x10 del dispositivo I2C 0x50, ejecute el siguiente comando:

sudo i2cget -y 1 0x50 0x10

3. Escriba en el registro del dispositivo I2C.

Utilice i2csetel comando para escribir datos en el registro del dispositivo I2C especificado. Por ejemplo, para escribir el valor 0x42 para registrar 0x20 del dispositivo I2C 0x51, ejecute el siguiente comando:

sudo i2cset -y 1 0x51 0x20 0x42

4. Mostrar el contenido del registro del dispositivo I2C

Utilice i2cdumpel comando para mostrar el contenido del registro del dispositivo I2C en formato hexadecimal. Por ejemplo, para mostrar el contenido del registro del dispositivo I2C 0x52, ejecute el siguiente comando:

sudo i2cdump -y 1 0x52

Estos son sólo algunos ejemplos de uso básico de las herramientas i2c; el conjunto de herramientas también proporciona funciones más avanzadas, como i2ctransferla realización de operaciones complejas de transferencia I2C. man i2c-toolsPuede ver documentación de ayuda detallada ejecutando el comando en la terminal .

en conclusión

Con i2c-tools, puede interactuar, depurar y probar fácilmente dispositivos I2C sin escribir código complicado. Este blog ha presentado la instalación, configuración y uso básico de las herramientas i2c. Espero que esto pueda ayudarle a lidiar con la comunicación del bus I2C y la administración de dispositivos más fácilmente. Si necesitas más información, puedes consultar la documentación oficial de i2c-tools o la comunidad online.

Supongo que te gusta

Origin blog.csdn.net/qq_37037348/article/details/132698708
Recomendado
Clasificación