|
|
  |
Вопросы по scmRTOS |
|
|
|
May 25 2009, 06:06
|
Профессионал
    
Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061

|
Здравствуйте! Ещё один вопрос  Корректным ли с точки зрения ОС будет использование объекта TEventFlag как поля данных внутри динамически создаваемого экземпляра класса (экземпляр класса, точнее указатель на него, при этом глобальный)? Или объект TEventFlag должен быть обязательно статическим?
--------------------
Благодарю заранее!
|
|
|
|
|
Jun 10 2009, 11:25
|
Профессионал
    
Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061

|
Цитата(ReAl @ Jun 10 2009, 13:45)  Вход компаратора переключается на внутреннюю опору Это понятно. Не было понятно что же твориться с самим выводом в этом случае... Теперь понятно. Спасибо за разъяснения  Цитата(Сергей Борщ @ Jun 10 2009, 13:41)  Да, можно. А вам обязательно, чтобы это было прерывание компаратора? Используйте прерывание SPM. Посмотрим! Спасибо!
--------------------
Благодарю заранее!
|
|
|
|
|
Jun 22 2009, 11:56
|
Профессионал
    
Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061

|
Цитата(Сергей Борщ @ Jun 10 2009, 14:41)  Да, можно. А вам обязательно, чтобы это было прерывание компаратора? Используйте прерывание SPM. Можно будет и AIN1 использовать под свои нужды. В одном из примеров была реализация. Здравствуйте! Скажите, пожалуйста, для организации передачи управления по прерыванию SPM какие действия надо предпринять? Смотрю примеры: 1-ый и 3-ий - то, что нужно. Но до конца пока не разобрался. 1. Использовать файл scmRTOS_TARGET_CFG.h из 1-го или 3-го примера. 2. В файле scmRTOS_CONFIG.h: #define scmRTOS_CONTEXT_SWITCH_SCHEME 1. Ещё что-нибудь надо написать, чтобы заработало?
--------------------
Благодарю заранее!
|
|
|
|
|
Jun 22 2009, 18:12
|
Профессионал
    
Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061

|
Не работает!  Прямая передача управления работает, а передача управления по программному прерыванию не работает  Смотрел осциллографом. Такое ощущение, что первый поток начинает выполняться и... зависает... В чём может быть дело? Может быть я что-то не дописал?  Уточняю. Система работает до первого вызова Sleep из первого потока.
Сообщение отредактировал n_bogoyavlensky - Jun 22 2009, 18:44
--------------------
Благодарю заранее!
|
|
|
|
|
Jun 23 2009, 03:36
|
Профессионал
    
Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061

|
Цитата(ReAl @ Jun 22 2009, 23:38)  Странно. В порте avr-gcc все примеры проверялись в железе c осциллографом с разными сочетаниями разрешения вложенных прерываний и методом переключения контекстов, но с WinAVR-20071221, 20070525. Я пробую с WinAVR 20080610. Исходники прилагаю (main.cpp, scmRTOS_CONFIG.h, scmRTOS_TARGET_CFG.h). Посмотрите, пожалуйста, а то я уже голову сломал
Прикрепленные файлы
Prob.rar ( 4.45 килобайт )
Кол-во скачиваний: 25
--------------------
Благодарю заранее!
|
|
|
|
|
Jun 23 2009, 08:42
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(n_bogoyavlensky @ Jun 23 2009, 06:36)  Я пробую с WinAVR 20080610. Исходники прилагаю (main.cpp, scmRTOS_CONFIG.h, scmRTOS_TARGET_CFG.h). Посмотрите, пожалуйста, а то я уже голову сломал  Хм. В коде всё нормально. Версия avr-gcc - значение опции MAKE_SMALLEST_HEX в makefile - размер кода/данных - работа в макете с atmega168@intRC8MHz (опция MAKE_SMALLEST_HEX для 20060421 работает, так как у себя я заменил этой версии ldscripts на более новые с KEEP() для нужных секций). Именно 20080610 у меня на компьютере нет и лень ставить. Цитата // 20060421-N - 3574/402 - OK // 20071221-N - 3164/402 - OK // 20081205-N - 3078/402 - OK // 20090313-N - 3056/402 - OK
// 20060421-Y - 1218/402 - OK // 20071221-Y - 1138/402 - OK // 20081205-Y - 1052/402 - OK // 20090313-Y - 1030/402 - OK Прикладываю всё кучей аж с листингами, архив всё равно небольшой. Попробуйте сверить ключи компилятора, хотя у меня ничего такого особого не прописано.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|