Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Похоже, только механизм до конца непонятен. Вложенности в прерываниях, используемых для IrDA, нет, прерываний по уровню порта в MSP430 нет как класса.

Отправлено Vladimir Ljaschko 01 октября 2007 г. 11:11
В ответ на: 2 Vladimir Ljaschko - это у тебя стопудово ирда подглючивает, см. совет Vitа отправлено -=Shura=- 01 октября 2007 г. 09:42

Но разрешена вложенность в прерывании системного таймера, и берет оно до трети ресурсов производительности, то есть до фига. Получается, что если прерывания по IrDA молотят практически постоянно, происходит переполнение стека из-за системного таймера, и кирдык.

Но в прерывании по порту три команды
#pragma vector=PORT2_VECTOR
__interrupt void IrdaRxPulse()
{ irda.rx_data&=~irda.rx_mask;
TACTL|= MC_1;
P2IFG=0;
}
это же сколько импульсов IrDA должно быть, чтобы оно занимало все ресурсы!

Непонятно, что делать - процессы очевидной отладке не подлежат, нужно или ограничить ресурсы на IrDA (минимальный период между прерываниями, не знаю как), или поставить внешний IrDA- UART конвертор.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 97:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru