-
- Спасибо за подсказку, помогает. Вы не только добрая :) - Vladimir Ljaschko(09.09.2009 17:22)
- Лучше хедер отредактируйте. Там есть такой блок определений rezident(1226 знак., 09.09.2009 17:43 - 10.09.2009 22:35)
- Хидеры редактировать ни к коем случае нельзя! Ксения(801 знак., 09.09.2009 18:31 - 18:35)
- От макросов перешел к инлайновой функции, потому что ее можно развернуть из первичных макросов структуризации, а вложенные определения недопустимы. Но делаю это только для GPIO, иначе замусорится все. - Vladimir Ljaschko(09.09.2009 21:38)
- Не знаю, можно для так в EW430, но в EWAVR допустимо писать так: Ксения(353 знак., 09.09.2009 23:13 - 23:15)
- Это фирма IAR использует битовые поля в хедерах. А TI в своих хедерах использует константы. В EW430 есть оба набора хедеров, но я пользуюсь версией TI. Поскольку те, которые от TI одни и те же и в других компиляторах (GCC, CCE, CrossWorks). - rezident(09.09.2009 23:49)
- Маски в хедерах раздражают - их как минимум неудобно проверять по DS. ИМХО, плохая традиция. Битовые поля не лучше, потому как имена тоже столбят (в версии для MSP - для AVR вроде человечнее, а для других не юзаю). - Vit(10.09.2009 11:07)
- А я вот предпочитаю маски. - Vladimir Ljaschko(10.09.2009 13:14)
- +1. С помощью маски можно одновременно управлять несколькими флагами. - rezident(10.09.2009 16:38)
- С помощью номеров битов тоже можно одновременно управлять несколькими битами. С помощью битовых полей у меня не получается почему-то;) - Vit(10.09.2009 17:49)
- Битовыми полями управлять легко получается. Для примера h-файл для ATtiny2313, он поменьше, там в конце определения битовых полей. Михаил Е.(214 знак., 10.09.2009 20:37 - 20:48)
- Спасибо. ...изврат ещё тот. Vit(788 знак., 10.09.2009 23:56)
- Битовыми полями управлять легко получается. Для примера h-файл для ATtiny2313, он поменьше, там в конце определения битовых полей. Михаил Е.(214 знак., 10.09.2009 20:37 - 20:48)
- А кто спорит? Только частенько в хидерах не маски, а порядковый номер. Например так: Ксения(818 знак., 10.09.2009 16:46 - 17:43)
- А что смешного? Vit(111 знак., 10.09.2009 17:38)
- Смешно единичку двигать, когда сразу можно было объявить бит как маску, а не порядковый номер. - Ксения(10.09.2009 17:43)
- Дык оно ж в рантайме не двигается, а заменяется на константу при компиляции - Vit(10.09.2009 17:44)
- Смешно единичку двигать, когда сразу можно было объявить бит как маску, а не порядковый номер. - Ксения(10.09.2009 17:43)
- Это в ВАШИХ (или в Atmelовских?) хедерах такое :) В моих маска это маска и есть. - rezident(10.09.2009 17:09)
- Ну да, именно в Атмеловских. А куда денешься? - Ксения(10.09.2009 17:45)
- А что смешного? Vit(111 знак., 10.09.2009 17:38)
- С помощью номеров битов тоже можно одновременно управлять несколькими битами. С помощью битовых полей у меня не получается почему-то;) - Vit(10.09.2009 17:49)
- +1. С помощью маски можно одновременно управлять несколькими флагами. - rezident(10.09.2009 16:38)
- Имена и нужно столбить! Чтоб как в даташите были. Иначе непременнно путаница возникнет. Имена регистрам МК имеет право давать только его производитель, но не разработчик компилятора. - Ксения(10.09.2009 11:24)
- Ну дык IAR столбит их в битовых полях, а мне структуры далеко не всегда удобны. Тем более, если пользую разные компиляторы - Vit(10.09.2009 11:56)
- Тогда вы тоже должны быть заинтересованы, чтобы регистры одинаково назывались. Иначе при переходе с компилятора на комилятор пришлось бы менять имена. Ксения(289 знак., 10.09.2009 16:16 - 16:23)
- Ну, извращение и то и другое, поскольку без обертки нечего портами дергать. - Vladimir Ljaschko(10.09.2009 20:10)
- Что-то Вы смешали всё. Насчёт структуры невкусно, например, иметь разный стиль описания для регистров с битовым и байтовым доступом. Та же ситуация с использованием части порта I/O с побитовым доступом для, например, организации 4-х-битной шины ЖКИ. Vit(308 знак., 10.09.2009 17:20)
- Тогда вы тоже должны быть заинтересованы, чтобы регистры одинаково назывались. Иначе при переходе с компилятора на комилятор пришлось бы менять имена. Ксения(289 знак., 10.09.2009 16:16 - 16:23)
- Ну дык IAR столбит их в битовых полях, а мне структуры далеко не всегда удобны. Тем более, если пользую разные компиляторы - Vit(10.09.2009 11:56)
- А я вот предпочитаю маски. - Vladimir Ljaschko(10.09.2009 13:14)
- Маски в хедерах раздражают - их как минимум неудобно проверять по DS. ИМХО, плохая традиция. Битовые поля не лучше, потому как имена тоже столбят (в версии для MSP - для AVR вроде человечнее, а для других не юзаю). - Vit(10.09.2009 11:07)
- Это фирма IAR использует битовые поля в хедерах. А TI в своих хедерах использует константы. В EW430 есть оба набора хедеров, но я пользуюсь версией TI. Поскольку те, которые от TI одни и те же и в других компиляторах (GCC, CCE, CrossWorks). - rezident(09.09.2009 23:49)
- Не знаю, можно для так в EW430, но в EWAVR допустимо писать так: Ксения(353 знак., 09.09.2009 23:13 - 23:15)
- Странная логика. Видимо чисто женская ;) Почему это вдруг стало нельзя хедеры редактировать? Поясните. Я свое предложение пояснил там => - rezident(09.09.2009 20:06, ссылка)
- От макросов перешел к инлайновой функции, потому что ее можно развернуть из первичных макросов структуризации, а вложенные определения недопустимы. Но делаю это только для GPIO, иначе замусорится все. - Vladimir Ljaschko(09.09.2009 21:38)
- Это понятно, но тут только копни ... Для всех используемых контроллеров? При каждой смене версии повторять или перенести в проект? Кстати, Вам Pa091 удалось победить? "Remark[Pa091]: operator operates on value promoted to int (with possibly unexpected Vladimir Ljaschko(10 знак., 09.09.2009 17:52)
- А как по-другому-то? О_о Держать в папке проекта все используемые хедеры и xcl-файл это подразумевается само собой. Насчет ремарки не могу сказать. То ли не встречался, то ли явное приведение типа решает проблему, то ли отказ от использования rezident(63 знак., 09.09.2009 18:07)
- Встречались точно, потому что писали об этом на Электрониксе около года назад при тестировании какой-то версии ИАРа. - Vladimir Ljaschko(09.09.2009 21:33)
- А как по-другому-то? О_о Держать в папке проекта все используемые хедеры и xcl-файл это подразумевается само собой. Насчет ремарки не могу сказать. То ли не встречался, то ли явное приведение типа решает проблему, то ли отказ от использования rezident(63 знак., 09.09.2009 18:07)
- Хидеры редактировать ни к коем случае нельзя! Ксения(801 знак., 09.09.2009 18:31 - 18:35)
- Лучше хедер отредактируйте. Там есть такой блок определений rezident(1226 знак., 09.09.2009 17:43 - 10.09.2009 22:35)
- Спасибо за подсказку, помогает. Вы не только добрая :) - Vladimir Ljaschko(09.09.2009 17:22)