Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как пользоватся MSP430-GCC? (+)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
amok
В реализации MSP430-GCC именованные регистры и биты регистров процессора используются через макросы:
Код
#define BCSCTL1_FLL XT2OFF|DIVA1|RSEL2|RSEL0


Можно ли сделать, чтобы эти регистры и биты регистров можно было устанавливать в коде программы как переменные?
Например так:
Код
XT2OFF = 1;
DIVA1 = 0;

и т.д.

Если нет, то как из MSP430-GCC устанавливать и сбрасывать именованные регистры в коде программы по их именам?

С Уважением, Андрей.
rezident
Вообще-то TI призывает использовать его имена регистров как стандартные, чтобы было всё всем понятно, а не только одному конкретному человеку, писавшему исходник smile.gif
Уточните что вы хотите: работать с битовыми полями или переименовать названия регистров и битов?
И чем вам не угодила запись

Код
BCSCTL1_FLL |= XT2OFF;
BCSCTL1_FLL &= ~DIVA1;


Которая выполняет то же самое действие, которые вы хотите сделать в своей?

Цитата(amok)
Код
XT2OFF = 1;
DIVA1 = 0;


ИМХО мой пример будет понятен любому, кто уже программировал для этого МК.
amok
Спасибо за помощь.
Теперь понятно.
Это то что я хотел.

Кстати регистр статуса SR по своему имени чегото отсутствует.
Как им пользоватся? (Какое имя у него в MSP430-GCC?)

С Уважением, Андрей.
rezident
Цитата(amok @ Oct 18 2005, 11:21)
Кстати регистр статуса SR по своему имени чегото отсутствует.
Как им пользоватся? (Какое имя у него в MSP430-GCC?)
*

К сожалению я не работал с MSP430-GCC. В IAR EW430, например, есть Intrinsic functions для прямого доступа к регистрам. Выдержка из его хелпа
Цитата
The intrinsic functions provide direct access to low-level processor operations
and can be very useful in, for example, time-critical routines. The intrinsic
functions compile into inline code, either as a single instruction or as a short
sequence of instructions.
beer_warrior
Цитата(amok @ Oct 18 2005, 08:21)
Кстати регистр статуса SR по своему имени чегото отсутствует.
Как им пользоватся? (Какое имя у него в MSP430-GCC?)

*


А зачем к SR обращаться как к регистру?
Отдельные биты, да может быть (и то сомнительно)
А весь регистр нужен только при сохранении/восстановлении контекста,
С сделает это автоматически.
amok
Цитата
А зачем к SR обращаться как к регистру?


Затем, чтобы устанавливать биты статуса SCG0 SCG1 OSCOFF CPUOFF.
В MSP430-GCC похоже биты регистров устанавливаются только через обращения к регистрам и операциями над ними.
Пример:
Код

BCSCTL1 |= XT2OFF;
BCSCTL1 &= ~DIVA1;


В этом примере бит XT2OFF устанавливается а бит DIVA1 сбрасывается через обращение к регистру BCSCTL1.

С Уважением, Андрей.
beer_warrior
Прошу http://mspgcc.sourceforge.net/manual/x1028.html
amok
Спасибо, то что нужно.

С Уважением, Андрей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.