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

Вернуться   Форум Микро-Чип > Инструментарий

Инструментарий Тестеры, паяльники, осциллографы, программаторы, IDE.

Ответ
 
Опции темы Опции просмотра
Старый 08.06.2010, 18:09   #201
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Активно ли указанное сообщение в очереди.
Как это? В каком смысле "указанное"?
tester вне форума   Ответить с цитированием
Старый 08.06.2010, 18:38   #202
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Я все еще немного путаюсь. Просто сбивают одинаковые названия.
Очередь сообщений это не массив сообщений, а просто массив в который помещаются указатели на переменные заданного типа (OST_MSG).
Я имел ввиду, чтоб bool OS_Queue_Check (queue, message) сравнивал есть ли указатель message внутри очереди.
maxNTF вне форума   Ответить с цитированием
Старый 08.06.2010, 18:42   #203
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Я все еще немного путаюсь. Просто сбивают одинаковые названия.
Очередь сообщений это не массив сообщений, а просто массив в который помещаются указатели на переменные заданного типа.
Я имел ввиду, чтоб bool OS_Queue_Check (queue, message) сравнивал есть ли указатель message внутри очереди.
Это Вы не немного путаетесь, а сильно путаетесь. Check делает совсем другую операцию.

То, что Вы предлагаете, в принципе можно было бы добавить, но это будет в 99.9% случаев бесполезным кодом, который будет просто тяготить результирующий hex. Ваша задача решается совсем несложно. Попробуйте на бумаге разрисовать последовательность работы очереди указателей на элементы массива, там не так все сложно.
tester вне форума   Ответить с цитированием
Старый 08.06.2010, 19:05   #204
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Миниатюры
queues.PNG  
tester вне форума   Ответить с цитированием
Старый 08.06.2010, 19:05   #205
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Обработку массива Messages[] придется написать вручную.
tester вне форума   Ответить с цитированием
Старый 08.06.2010, 19:15   #206
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Еще раз спасибо за помощ!
maxNTF вне форума   Ответить с цитированием
Старый 09.06.2010, 14:41   #207
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Вопрос по флажкам

Есть 2 группы флагов
Код:
OST_FLAG16      F_IN_MSG_BUF;
OST_FLAG16      F_OUT_MSG_BUF;
Допустима такая операция
Код:
OS_Flag_Wait_Off_TO((F_IN_MSG_BUF | F_OUT_MSG_BUF), 0xFF, 10);
maxNTF вне форума   Ответить с цитированием
Старый 09.06.2010, 14:44   #208
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопрос по флажкам

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Есть 2 группы флагов
Код:
OST_FLAG16      F_IN_MSG_BUF;
OST_FLAG16      F_OUT_MSG_BUF;
Допустима такая операция
Код:
OS_Flag_Wait_Off_TO((F_IN_MSG_BUF | F_OUT_MSG_BUF), 0xFF, 10);
Да
tester вне форума   Ответить с цитированием
Старый 09.06.2010, 15:42   #209
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Еще вопрос?

Когда мы используем один из сервисов OS_Flag_Wait_х()
Если маска изначально совпадает с флагами, то контекст все равно передастся планировщику, а планировщик потом его может отдать уже другой задачи. И для того чтоб этого не произошло, нужно текущей задачи назначить самый высокий приоритет, чтоб контекст вернулся к ней?
maxNTF вне форума   Ответить с цитированием
Старый 09.06.2010, 16:35   #210
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Еще вопрос?

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Когда мы используем один из сервисов OS_Flag_Wait_х()
Если маска изначально совпадает с флагами, то контекст все равно передастся планировщику, а планировщик потом его может отдать уже другой задачи. И для того чтоб этого не произошло, нужно текущей задачи назначить самый высокий приоритет, чтоб контекст вернулся к ней?
Да. Дело в том, что те же флаги могут ожидаться другой задачей с более высоким приоритетом.
tester вне форума   Ответить с цитированием
Старый 09.06.2010, 17:00   #211
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Ясно!
У меня при использовании сервиса OS_Task_SetPriority(this_task, 0);
компилятор начинает ругаться
Цитата:
Error [255] ... 116.33 not a member of the struct/union ""
Error [182] ... 116.36 illegal conversion between types
maxNTF вне форума   Ответить с цитированием
Старый 09.06.2010, 17:10   #212
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Ясно!
У меня при использовании сервиса OS_Task_SetPriority(this_task, 0);
компилятор начинает ругаться
Мой косяк... Скопируйте файл из прикрепленного архива в папку "osa\service"
Вложения
Тип файла: rar osa_tasks.rar (2.1 Кб, 6 просмотров)
tester вне форума   Ответить с цитированием
Старый 09.06.2010, 17:25   #213
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Да, так работает!
maxNTF вне форума   Ответить с цитированием
Старый 09.06.2010, 17:31   #214
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Можно между сервисом ожидания события с выходом по таймеру и OS_IsTimeout() вставить еще что то, в частности мне нужно вставить сервис OS_Task_SetPriority(this_task, 7);
maxNTF вне форума   Ответить с цитированием
Старый 09.06.2010, 17:57   #215
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Можно между сервисом ожидания события с выходом по таймеру и OS_IsTimeout() вставить еще что то, в частности мне нужно вставить сервис OS_Task_SetPriority(this_task, 7);
Вообще не рекомендуется, но этот сервис можно.
tester вне форума   Ответить с цитированием
Старый 21.06.2010, 17:37   #216
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
С обновлением еще не пробовал, но заметил что и так то же флаг таймаута не сброшен.
Код:
for(i=0; i<INPUT_ON; i++) OS_Qtimer_Create(ztop[i]);
for(i=0; i<INPUT_ON; i++) OS_Qtimer_Break(ztop[i]);
Посмотрите плиз.
В Break он устанавливается принудительно.
В документации надо поправить.
tester вне форума   Ответить с цитированием
Старый 21.06.2010, 17:44   #217
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Можно как нибудь сбросить флаг таймаута?
maxNTF вне форума   Ответить с цитированием
Старый 21.06.2010, 17:53   #218
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
Можно как нибудь сбросить флаг таймаута?
Только запустив на выполнение. (Теперь еще и выполнив OS_Qtimer_Create). Наконец, вручную: "qt.Flags.bTimeout = 0;"

Вообще-то лучше пересмотреть алгоритм. Если не секрет, зачем такие сложности с этим флагом? (Кстати, сколько таймеров используется в программе? Есть ли смысл применять именно очередь таймеров?)
tester вне форума   Ответить с цитированием
Старый 21.06.2010, 18:01   #219
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Цитата:
Если не секрет, зачем такие сложности с этим флагом?
Не хотелось заводить лишний флаг. У меня в программе окончание отсчета и время когда таймер не используется, это разные события. Но для наглядности введу флаг вместо qt.Flags.bTimeout = 0
В очереди планирую использовать до 32 таймера. Одновременно работать они вряд ли будут, но такая ситуация не исключена.
maxNTF вне форума   Ответить с цитированием
Старый 21.06.2010, 18:08   #220
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

После наступления таймаута таймер удаляется из очереди?
OS_Qtimer_Break() выполнять не нужно?
maxNTF вне форума   Ответить с цитированием
Старый 21.06.2010, 18:26   #221
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
После наступления таймаута таймер удаляется из очереди?
OS_Qtimer_Break() выполнять не нужно?
Да, удаляется. В очереди только те таймеры, которые считаются.
tester вне форума   Ответить с цитированием
Старый 23.06.2010, 17:11   #222
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

После вызова сервиса OS_Task_Delete(this_task) управление передается планировщику?
maxNTF вне форума   Ответить с цитированием
Старый 23.06.2010, 17:21   #223
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
После вызова сервиса OS_Task_Delete(this_task) управление передается планировщику?
Да, внутри этого вызова. Т.е. за ним уже ничего выполняться не будет. В документации (второй абзац)
tester вне форума   Ответить с цитированием
Старый 24.06.2010, 14:16   #224
maxNTF
Senior Member
 
Регистрация: 12.07.2007
Возраст: 36
Сообщений: 908
Вес репутации: 287/57
maxNTF is a jewel in the roughmaxNTF is a jewel in the roughmaxNTF is a jewel in the rough
По умолчанию Re: Вопросы по OSA

Проблемы с очередями сообщений в протеусе.
Из скриншота
InQueue - Очередь указателей на сообщения
InQueueBuf - Буфер для очереди из 10 сообщений
MessBufIn – Буфер для хранения данных сообщения
В эмуляторе MPLAB SIM отображается правильно, а в протеусе почему то вместо указателей на сообщения располагаются их значения. Это глюк протеуса? Если да, то только в отображении или протеус вообще по другому хавает, и в нем не получится выполнять отладку?
В приложении так же проект! для проверки необходимо установить брекпоинт указанный в третьем скриншоте.
Миниатюры
111.jpg   123.jpg   124.jpg  
Вложения
Тип файла: rar test.rar (12.7 Кб, 1 просмотров)
maxNTF вне форума   Ответить с цитированием
Старый 24.06.2010, 14:30   #225
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 42
Сообщений: 3,577
Вес репутации: 4386/125
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Вопросы по OSA

Цитата:
Сообщение от maxNTF Посмотреть сообщение
В эмуляторе MPLAB SIM отображается правильно, а в протеусе почему то вместо указателей на сообщения располагаются их значения. Это глюк протеуса? Если да, то только в отображении или протеус вообще по другому хавает, и в нем не получится выполнять отладку?
С протеусом никогда не работал, но уверен, что это сделано просто для удобства пользователя (т.е. отображение не адреса, а содержимого по адресу). Может в настройках протеуса порыться?
tester вне форума   Ответить с цитированием
Ответ

Метки
osa, rtos, сторожевой таймер


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все вопросы по MikroC shnitz Инструментарий 971 23.09.2016 13:22
Статья по RTOS OSA tester Продукция MICROCHIP 12 24.02.2009 12:04
16F690, вопросы по timer1 и встроенному 32кГц-генератору e_glu Продукция MICROCHIP 3 29.01.2009 17:14
Есть вопросы по алгоритму работы устройства на пике. 40grad Продукция MICROCHIP 9 27.10.2007 15:55
Пишу руководство по RS485 и есть вопросы pvl2000 Cетевые протоколы и технологии 2 16.04.2007 00:57


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


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