реклама на сайте
подробности

 
 
> Что можно использовать удобное, как структуру, но функционирующее, как дефайн?, MPLAB X, XC8
KilkennyCat
сообщение Jan 2 2016, 14:14
Сообщение #1





Группа: Участник
Сообщений: 7
Регистрация: 26-11-11
Из: Липецк
Пользователь №: 68 533



Суть:
Имеем кучу дефайнов, вида:

Код
#define a  0x01
#define b  0x05
#define c  0x0A


Когда их мало, не так страшно. А вот много - уже не запомнить.
Но если пойти таким путем:
Код
struct {
    unsigned char a; /* help */
    unsigned char b;
    unsigned char c;
} uuu = {0x01,0x05,0x0A}


то далее можно использовать в программе uuu.a, причем, установка точки после uuu вызывает список всех элементов, со справкой (ежели справка есть). Удобно. Очень. Но совершенно расточительно по ресурсам, ибо вся структура сохраняется как константы, и дальнейшее ее использование - вызов.

Enum тоже позволяет после точки вызвать список всех элементов:

Код
typedef enum {
   a = 0x01,
   b = 0x05,
   c = 0x0A
} uuu;


но использование в дальнейшем uuu.a среда позволяет, а компилятор - нет.

Вот и вопрос: возможно ли в MPLAB X XC8 что такое сделать, что совместит удобство разработки как со структурами (то есть вызов точкой списка элементов) с функционалом дефайнов (то есть с подстановкой значений)?


нашел небольшое решение: структуру объявить константой. В этом случае код становится несколько меньше, озу не тратится.

Сообщение отредактировал KilkennyCat - Jan 2 2016, 15:13
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th August 2025 - 04:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01342 секунд с 7
ELECTRONIX ©2004-2016