Цитата(SergNK @ May 3 2016, 15:21)
Вот, набросал по образу и подобию SPI драйвера из stm32_spi.h.
Отлично! Осталось написать чтение/запись, и дело в шляпе
А у меня как-то с i2c не складывается, не нравится мне этот протокол, да и реализация его у ST какая-то мутная. Каждый раз ограничиваюсь какими-то частными решениями, и библиотечный модуль не выходит.
В подмогу дам ссылку на хорошие исходники для работы с i2c:
вот. Там всё очень понятно сделано в плане чтения/записи. И откомментировано подробно.
Кстати, в I2c::SetClkSource() ошибка:
Код
INLINE static void SetClkSource(uint32_t cs){ Traits::DisableClocks(cs); }
Что касаемо исходного вопроса, то
ViKo правильно намекает: если периферия используется из двух процессов, то нужен мьютекс. Процесс захватывает мьютекс, делает транзакцию на шине, отпускает мьютекс. Другой процесс поступает так же. В этом случае конфликты исключены.
Если бы я знал, что такое электричество...