[an error occurred while processing this directive]
Проблема с обработчиком прерывания в uCOS-II. При посылке *Post() из ISR ОС виснет. (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено JeDay 24 октября 2005 г. 16:33


В мануале написало что перед обработчиком прерывания надо:
1. сохранить регистры;
2. OSIntEnter();
3. ОБРАБОТЧИК ПРЕРЫВАНИЯ;
4. OSIntExit();
5. восстановить регистры.

Я не проделываю пункты 1. и 5., все вроди работает. Пишу обработчики на Си. для пунктов 1. и 5. надо Асм городить(по другому вроди никак).
Как красиво написать обработчик по всем требуемым правилам ?

Проблема в том, что если я делаю OSSemPost(x), OSMboxPost(x) и т.д. то через 1-4 посылки ОС зависает. Это наверно из-за того что я не сохраняю текущий контекст потока...(?)

Пришлите плиз пример из правельным обработчиком прерывания
для ATmega128.

Зараннее спасибо.

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru