[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Сергей Борщ 16 мая 2002 г. 23:45
В ответ на: Вопросы по MSP430F149 (+) отправлено OverMem 14 мая 2002 г. 18:31

1.Интересно как народ включает из прерывания CPU.
Фишка типа BIC #CPUOFF,0(SP) не работает во вложенных прерываниях.
Приходится включать во всех, а в основной программе уже разбираться.

Хитрый вопрос. А так и включаем - во всех. Если я правильно понял, ты хочешь, чтобы он выпадал из спячки (отрабатывал главный цикл) только по какому-то одному прерыванию? Тогда только через какой-то флаг. Любое прерывание перед выходом проверяет его, и если он взведен - делает это магическое действие. А главный цикл перед впадением в спячку этот флаг сбрасывает.

2. Из каких соображений выбирается делитель для FCTL2?
Зная тактовую частоту прикидываешь коэф. деления, чтобы частота генератора автомата записи флешки находилась в пределах, указанных в даташите.

3. Можно ли в IAR C для MSP430 организовать сегмент для внешней SRAM если есть функции доступа к ней? Просто функциями пользоваться неудобно.
Хочется к структуре "почленно" обращаться? Есть два варианта:
1)В тексте
#pragma memory=dataseg(MYDATA)
unsigned gggg[1000];
#pragma memory=default
а в .xcl -Z(DATA)MYDATA=10000-10FFF - за пределами реальной памяти.
2)Описать структуру через typedef, завести указатель на нее, и через нее плясать.

Только старшие цифры адреса (более 16 бит) будут IARом отсекаться.



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru