Здравствуйте и, пожалуйста, не удаляйте сразу. У меня проблемы с поиском хороших примеров CODE для программирования I2C / SPI на Raspberry Pi с использованием C ++. Я посмотрел на wiringPi и другие источники, но они не дают много документации со своим исходным кодом, как мне бы хотелось. Кто-нибудь находил приятные примеры в хорошо документированном исходном коде или даже в пояснениях к видео? Если у вас есть, не могли бы вы поделиться ссылкой?
Спасибо!
Выполнить I2C в C на Raspberry Pi легко — в основном вам нужны обычные низкоуровневые файловые операции — открытие, чтение, запись и т. Д.
Сначала откройте соответствующее устройство:
int f = open ("/dev/i2c-1", O_RDWR);
Тогда используйте ioctl()
установить адрес устройства I2C:
ioctl (f, I2C_SLAVE, address);
Тогда просто используйте обычные read()
а также write()
звонки для отправки и получения данных.
Сложной частью является понимание протокола данных устройства — это может или не может быть задокументировано. Для RPi многие поставщики предоставляют только примеры программирования на Python, поэтому мы должны пересмотреть реальный протокол из кода Python.
Я использовал этот метод для сопряжения всевозможных устройств с RPi — дисплеев, двигателей, датчиков и т. Д. Честно говоря, чтение и запись шины I2C очень легко часть работы 🙂
Других решений пока нет …