Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 01.04.2009, 18:18   #1
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/104
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию TNKernel. Сепвис в прерывании периодически возвращает 0xFE

сервис tn_event_iset(&event_Status, DATA_RX2); периодически возвращает значение 0xFE это вроде TERR_WCONTEXT вызов вне контекста но это ведь не постоянно. Варианты с приоритетами пробовал не помогает с очередью результат такой же.
Семафор пока не пробовал. Ошибки пока понять не могу.
break пропустил надо так это в прерываниях.
Код:
        if (TERR_NO_ERR != ret)
        {
          Nop();Nop();Nop();Nop();Nop();
        }
        else
        {
          T3CONbits.TON     = 0;
          Nop();Nop();Nop();Nop();
          reactionTime      = 0;
        }
        break;

проект с описанной проблемой.

Последний раз редактировалось DL36; 01.04.2009 в 19:08.
DL36 вне форума   Ответить с цитированием
Старый 01.04.2009, 21:47   #2
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/104
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: TNKernel. Сепвис в прерывании периодически возвращает 0xFE

Вопрос решился, таки приоритет. Системные прерывания должны быть одного уровня с системным таймером.
DL36 вне форума   Ответить с цитированием
Старый 01.04.2009, 23:14   #3
Alex B.
Super Moderator
 
Аватар для Alex B.
 
Регистрация: 25.02.2007
Адрес: Russia, SPb
Сообщений: 1,674
Вес репутации: 1729/82
Alex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant futureAlex B. has a brilliant future
Отправить сообщение для Alex B. с помощью Skype™
По умолчанию Re: TNKernel. Сепвис в прерывании периодически возвращает 0xFE

Цитата:
Сообщение от DL36 Посмотреть сообщение
Системные прерывания должны быть одного уровня с системным таймером.
Естественно, у них даже название одинаковое.

В TNKernel для PIC24/dsPIC системные прерывания должны иметь приоритет, равный TN_INTERRUPT_LEVEL (приоритет 1). Вызов сервисов RTOS в обработчике прерывания с другим (более высоким) приоритетом (т.е. в ISR пользовательского прерывания) запрещен - это приведет к краху системы. В текущей версии TNKernel защита от вызова системных сервисов в пользовательском прерывании не реализована.

http://www.pic24.ru/doku.php/tnkerne...BD%D0%B8%D0%B9
__________________
даташит читать до того , а не после
Alex B. вне форума   Ответить с цитированием
Старый 02.04.2009, 08:51   #4
DL36
Senior Member
 
Регистрация: 25.02.2007
Адрес: Херсон
Сообщений: 3,642
Вес репутации: 1983/104
DL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant futureDL36 has a brilliant future
По умолчанию Re: TNKernel. Сепвис в прерывании периодически возвращает 0xFE

Цитата:
Сообщение от Alex B. Посмотреть сообщение
Естественно, у них даже название одинаковое.

В TNKernel для PIC24/dsPIC системные прерывания должны иметь приоритет, равный TN_INTERRUPT_LEVEL (приоритет 1). Вызов сервисов RTOS в обработчике прерывания с другим (более высоким) приоритетом (т.е. в ISR пользовательского прерывания) запрещен - это приведет к краху системы. В текущей версии TNKernel защита от вызова системных сервисов в пользовательском прерывании не реализована.

http://www.pic24.ru/doku.php/tnkerne...BD%D0%B8%D0%B9
Спасибо, этот раздел я как то упустил.

Почту от меня получал, еще можно правку сделать.
DL36 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 16:38.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot