Raspberry Pi:Библиотеки/WiringPi/Функции для работы с шиной I2C

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Функции для работы с шиной I2C[1]

Библиотека WiringPi содержит набор функций, упрощающих работу с интерфейсом I2C, встроенным в Raspberry Pi.

Для начала нужно воспользоваться утилитой gpio, чтобы с ее помощью загрузить в ядро драйверы для I2C:

gpio load i2c

Если вам нужно изменить скорость передачи данных (в бодах; по умолчанию стоит 100 Кбит/сек), то сделать это можно следующим образом:

gpio load i2c 1000

Это выставит скорость передачи данных на 1000 Кбит/сек, т.е. на передачу 1 млн бит в секунду.

Чтобы использовать в программе функции для I2C, в ее начало нужно вписать следующую строчку:

#include <wiringPiI2C.h>

Кроме того, как и всегда, при запуске и компиляции программы в конце нужно вписать

–lwiringPi

Для проверки I2C-устройств по-прежнему можно (более того, мы рекомендуем именно так и делать) пользоваться стандартными системными командами – например,

i2cdetect

Просто помните что на 1-ой версии Raspberry Pi это устройство номер 0, а на 2-ой – устройство номер 1. Вот так:

i2cdetect -y 0 # версия 1
i2cdetect -y 1 # версия 2

Помните, что для того, чтобы запустить команду i2cdetect с параметрами, которые будут корректны для вашей версии Raspberry Pi, достаточно воспользоваться утилитой gpio:

gpio i2cdetect

Итак, функции для работы с шиной I2C:

Для всех функций ниже: если возвращаемое значение будет отрицательным, это значит, что произошла ошибка – о ее причине проконсультируйтесь у переменной errno.

См.также

Внешние ссылки