Как правильнее сделать на C, с точки зрения архитектуры. Есть много переменных. uint8_t a, b, c, d; Часть из них содержится в EEPROM. Часть из них отображается на дисплее. Эти части пересекаются по разному. Сохраняющиеся имеют 16битный адрес еепром. Отображающиеся имеют строку имя, для дисплея. Постоянно приходится боротся с багами вроде - обновил переменную, забыл сохранить в еепром, забыл отобразить на дисплее, переменная подгрузилась из еепром, но не обновилась на дисплее и тд и тп. Хочется вынести работу с ними в отдельную библиотеку, создав под них свой тип. Что бы изменять функцией, вместе с отображением и прочим, передавая указателем. Но блин, очень не хочется хранить имя и еепром-адрес в ОЗУ, непозволительно много. Даже указатели на них. А как сделать иначе, не используя безумное число ENUM на энуме, я не знаю. И очень не хочется содержать 3 огромных массива, руками постоянно их синхронизируя. (хотя пока писал - решил что меньшее из зол)

Комментарии: 11

  1. Setpf

    Контекст В общем сидел я мозговал как делать. В итоге пришел к следующему Получается, что под каждый эмм "объект" (модуль с кодом), использующий подобное, мне надо создавать отдельный файл с переменными в глобальной области. И этот файл подключать к файлу выше обозначенного массива. Либо. Создавать отдельный файл, где создавать отдельный массив конфигурации переменных в ОЗУ. И подключать подобный массив в массив массивов. И я вот сижу не знаю как лучше. В первом случае все будет в глобальной видимости и как то это не очень. Во втором - надо обмазывать функциями, организующими смешение и прочее.

    • Anonim

      Не вчитывался, но может пора на Си с классами?

      • Setpf

        Я забыл кавычки вокруг "объект" Я боюсь ни черта не понятно из того что я написал =\

Не нашли ответ?

Вам также может быть интересно