Цитата(Make_Pic @ Jun 23 2018, 08:16)
Есть микроконтроллер - MSP430F2274, у него есть встроенные операционные усилители - Вопрос: Как компактнее и проще написать код на С для смены режимов работы этих OP, переключение входов и выходов, изменение включения внутренних резисторов?
Просится оформить в виде структур, но как лучше сделать переключение/программирование режимов OP в зависимости от состояний программы?
Учитывая достаточно скромные ресурсы по RAM для этого контроллера, CPP использовать возможно, но естественно при этом будет несколько больше расходоваться
RAM и flash. Если алгоритм прикладной задачи и объем данных небольших, то вполне возможно.
--
Для "упаковки" текста функционала вместо собственно функций можно использовать макросы.
Их использование увеличит быстродействие, улучшит читабельность кода и его "портабельность", если все макро-определения делать в одном h-файле.
(аналогично inline - функциям)
Код
#define PORT_CS P1OUT
#define MASK_CS_FLASH 0x01
#define MASK_CS_RTC 0x02
#define CS_ACTIVE_FLASH ( PORT_CS &= ~MASK_CS_FLASH )
#define CS_OFF ( PORT_CS = 0xFF )
ps
у Ti есть MSP430Ware == driverlib.
Пробовал использовать их HAL, но "не пошло", выписывал потом все оптимально и компактно и собственноручно. В HAL-реализациях только подсматривал основы.
Цитата(Make_Pic @ Jun 25 2018, 05:10)
И есть еще какие либо варинты смены реимов OP операациоников на лету?
"на лету" - это термин, или как ? Самое близкое к этому (?) - аппаратное прерывание и изменение конфигурации в обработчике евойном.
Поскольку из вопроса видно, что "не на лету" Вы уже реализовали, выкладывайте код.