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

 
 
10 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> Вопросы по scmRTOS
koluna
сообщение May 18 2009, 18:39
Сообщение #46


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(sergeeff @ May 18 2009, 22:08) *
Может надо взять за правило сначала посмотреть все по-подробнее, а уже потом...


Согласен. Но не всегда получается. Вы уж извините...
Очень всем благодарен за помощь! smile.gif


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение May 25 2009, 06:06
Сообщение #47


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Здравствуйте!

Ещё один вопрос smile.gif

Корректным ли с точки зрения ОС будет использование объекта TEventFlag как поля данных внутри динамически создаваемого экземпляра класса (экземпляр класса, точнее указатель на него, при этом глобальный)?
Или объект TEventFlag должен быть обязательно статическим?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 25 2009, 07:50
Сообщение #48


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(n_bogoyavlensky @ May 25 2009, 09:06) *
Корректным ли с точки зрения ОС будет использование объекта TEventFlag как поля данных внутри динамически создаваемого экземпляра класса
Вполне корректно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
koluna
сообщение May 25 2009, 08:28
Сообщение #49


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(Сергей Борщ @ May 25 2009, 11:50) *
Вполне корректно.


Слово "вполне" немного смущает smile.gif
Какие подводные камни?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 25 2009, 08:41
Сообщение #50


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(n_bogoyavlensky @ May 25 2009, 11:28) *
Какие подводные камни?
Да никаких, кроме обычных - обращение через указатель к уже уничтоженному объекту.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
koluna
сообщение May 25 2009, 10:31
Сообщение #51


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(Сергей Борщ @ May 25 2009, 12:41) *
Да никаких, кроме обычных - обращение через указатель к уже уничтоженному объекту.


Ну с этим понятно... как обычно. Я думал, может, ещё что есть smile.gif


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Jun 10 2009, 10:20
Сообщение #52


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Здравствуйте! smile.gif

Смотрю в даташит и понять не могу...
Если использовать передачу управления на основе программного прерывания (аналоговый компаратор), то вывод МК AIN0 (10 для ATmega88) можно использовать как выход под свои нужды или нет?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 10 2009, 10:41
Сообщение #53


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(n_bogoyavlensky @ Jun 10 2009, 13:20) *
Если использовать передачу управления на основе программного прерывания (аналоговый компаратор)
Да, можно. А вам обязательно, чтобы это было прерывание компаратора? Используйте прерывание SPM. Можно будет и AIN1 использовать под свои нужды. В одном из примеров была реализация.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jun 10 2009, 10:45
Сообщение #54


Нечётный пользователь.
******

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



Цитата(n_bogoyavlensky @ Jun 10 2009, 13:20) *
Если использовать передачу управления на основе программного прерывания (аналоговый компаратор), то вывод МК AIN0 (10 для ATmega88) можно использовать как выход под свои нужды или нет?
Вход компаратора переключается на внутреннюю опору, вывод можно использовать как угодно.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
koluna
сообщение Jun 10 2009, 11:25
Сообщение #55


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Цитата(ReAl @ Jun 10 2009, 13:45) *
Вход компаратора переключается на внутреннюю опору


Это понятно.
Не было понятно что же твориться с самим выводом в этом случае...
Теперь понятно. Спасибо за разъяснения smile.gif

Цитата(Сергей Борщ @ Jun 10 2009, 13:41) *
Да, можно. А вам обязательно, чтобы это было прерывание компаратора? Используйте прерывание SPM.


Посмотрим! Спасибо! smile.gif


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Jun 22 2009, 11:56
Сообщение #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.

Ещё что-нибудь надо написать, чтобы заработало?


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
koluna
сообщение Jun 22 2009, 18:12
Сообщение #57


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Не работает! sad.gif
Прямая передача управления работает, а передача управления по программному прерыванию не работает sad.gif
Смотрел осциллографом.
Такое ощущение, что первый поток начинает выполняться и... зависает...
В чём может быть дело?
Может быть я что-то не дописал? smile.gif

Уточняю.
Система работает до первого вызова Sleep из первого потока.

Сообщение отредактировал n_bogoyavlensky - Jun 22 2009, 18:44


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jun 22 2009, 19:38
Сообщение #58


Нечётный пользователь.
******

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



Цитата(n_bogoyavlensky @ Jun 22 2009, 21:12) *
Не работает! sad.gif
Прямая передача управления работает, а передача управления по программному прерыванию не работает sad.gif

Странно.
В порте avr-gcc все примеры проверялись в железе c осциллографом с разными сочетаниями разрешения вложенных прерываний и методом переключения контекстов, но с WinAVR-20071221, 20070525.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
koluna
сообщение Jun 23 2009, 03:36
Сообщение #59


Профессионал
*****

Группа: Участник
Сообщений: 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).
Посмотрите, пожалуйста, а то я уже голову сломал smile.gif
Прикрепленные файлы
Прикрепленный файл  Prob.rar ( 4.45 килобайт ) Кол-во скачиваний: 25
 


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jun 23 2009, 08:42
Сообщение #60


Нечётный пользователь.
******

Группа: Свой
Сообщений: 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).
Посмотрите, пожалуйста, а то я уже голову сломал smile.gif

Хм. В коде всё нормально.
Версия 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
Прикладываю всё кучей аж с листингами, архив всё равно небольшой.
Попробуйте сверить ключи компилятора, хотя у меня ничего такого особого не прописано.
Прикрепленные файлы
Прикрепленный файл  proba_ok.7z ( 57.09 килобайт ) Кол-во скачиваний: 26
 


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

10 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 17:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016