Не оптимальное решение, но от ошибок вроде записи не в тот регистр спасало.
Теперь можно и ряд других ошибок отлавливать.
Можно еще доработать подход и использовать его для работы с регистрами различных ИС подключаемых посредством I2C или SPI, или пр. Писать придется в переменную, а не по адресу. А уже потом эту переменную передавать.
Сам задумывался над чем-то подобным. Только знаний С++ для реализации не хватило.
Частично решал проблему с помощью макросов вроде:
Что выливалось в код:
Не оптимальное решение, но от ошибок вроде записи не в тот регистр спасало.
Теперь можно и ряд других ошибок отлавливать.
Можно еще доработать подход и использовать его для работы с регистрами различных ИС подключаемых посредством I2C или SPI, или пр. Писать придется в переменную, а не по адресу. А уже потом эту переменную передавать.