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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 11: Строка 11:
Для начала нужно воспользоваться утилитой '''gpio''', чтобы с ее помощью загрузить в ядро драйверы для '''I2C''':
Для начала нужно воспользоваться утилитой '''gpio''', чтобы с ее помощью загрузить в ядро драйверы для '''I2C''':


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
gpio load i2c
gpio load i2c
</syntaxhighlight>
</syntaxhighlight>
Строка 17: Строка 17:
Если вам нужно изменить скорость передачи данных (в бодах; по умолчанию стоит '''100 Кбит/сек'''), то сделать это можно следующим образом:
Если вам нужно изменить скорость передачи данных (в бодах; по умолчанию стоит '''100 Кбит/сек'''), то сделать это можно следующим образом:


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
gpio load i2c 1000
gpio load i2c 1000
</syntaxhighlight>
</syntaxhighlight>
Строка 25: Строка 25:
Чтобы использовать в программе функции для '''I2C''', в ее начало нужно вписать следующую строчку:
Чтобы использовать в программе функции для '''I2C''', в ее начало нужно вписать следующую строчку:


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
#include <wiringPiI2C.h>
#include <wiringPiI2C.h>
</syntaxhighlight>
</syntaxhighlight>
Строка 31: Строка 31:
Кроме того, как и всегда, при запуске и компиляции программы в конце нужно вписать  
Кроме того, как и всегда, при запуске и компиляции программы в конце нужно вписать  


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
–lwiringPi
–lwiringPi
</syntaxhighlight>
</syntaxhighlight>
Строка 37: Строка 37:
Для проверки '''I2C'''-устройств по-прежнему можно (более того, мы рекомендуем именно так и делать) пользоваться стандартными системными командами – например,  
Для проверки '''I2C'''-устройств по-прежнему можно (более того, мы рекомендуем именно так и делать) пользоваться стандартными системными командами – например,  


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
i2cdetect
i2cdetect
</syntaxhighlight>
</syntaxhighlight>
Строка 43: Строка 43:
Просто помните что на '''1-ой''' версии '''Raspberry Pi''' это устройство номер '''0''', а на '''2-ой''' – устройство номер '''1'''. Вот так:
Просто помните что на '''1-ой''' версии '''Raspberry Pi''' это устройство номер '''0''', а на '''2-ой''' – устройство номер '''1'''. Вот так:


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
i2cdetect -y 0 # версия 1
i2cdetect -y 0 # версия 1
i2cdetect -y 1 # версия 2
i2cdetect -y 1 # версия 2
Строка 50: Строка 50:
Помните, что для того, чтобы запустить команду '''i2cdetect''' с параметрами, которые будут корректны для вашей версии '''Raspberry Pi''', достаточно воспользоваться утилитой '''gpio''':
Помните, что для того, чтобы запустить команду '''i2cdetect''' с параметрами, которые будут корректны для вашей версии '''Raspberry Pi''', достаточно воспользоваться утилитой '''gpio''':


<syntaxhighlight lang="bash" enclose="div">
<syntaxhighlight lang="bash">
gpio i2cdetect
gpio i2cdetect
</syntaxhighlight>
</syntaxhighlight>

Версия от 18:13, 14 мая 2023

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


Черновик


Функции для работы с шиной 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.

См.также

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