Я пишу API-оболочку в пользовательском пространстве для управления шиной I2C на C на платформе Embedded Linux. Я могу читать и записывать данные с датчика с помощью методов read () и write () и вызова ioctl () для выбора подчиненного устройства. Я знаю, что внутреннее чтение / запись выполняет следующие шаги:
- Отправить бит Start
- Отправьте адрес подчиненного устройства + бит чтения / записи и получите подтверждение
- Отправка / получение данных
- Отправить бит Stop
Я хочу создать отдельные функции, чтобы делать следующее:
- Чтобы отправить бит Start в шину I2C
- Чтобы отправить бит Stop в шину I2C
- Чтобы записать один байт в шину I2C. (Не родовой для раба)
- Чтобы прочитать один байт с шины I2C. (Не родовой для раба)
Существуют ли какие-либо функции Linux / API / вызовы ioctl, которые можно использовать из приложения C User для достижения вышеуказанных функций ..?