Кто-нибудь успешно симулирует I2C с помощью GPIO в пользовательском пространстве и использует sysfs?
Я хочу использовать два контакта GPIO для имитации связи I2C, два контакта GPIO уже находятся в /sys/devices/virtual/misc/gpio
каталог, он работает нормально --- когда я пишу на контакт, я могу обнаружить изменение вольта на нем.
И я уже написал код, который реализует протокол I2C, но он не работает хорошо.
Я не использую i2c-gpio, i2c-algo-bit или что-то вроде модуля / драйвера i2c-dev, просто читаю / пишу /sys/devices/virtual/misc/gpio/mode
а также /sys/devices/virtual/misc/gpio/pin
каталог, включая управление временной последовательностью, но, кажется, он не работает.
Поскольку у I2C есть спрос на временную последовательность, а Linux не является системой реального времени, особенно из пространства пользователя. Интересно, возможен ли этот метод?
Если кто-то достиг этого?