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

 
 
> Keil... Си... Несколько потоков...
BFunTic
сообщение Dec 28 2007, 22:15
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 25-11-07
Пользователь №: 32 675



Привет всем!!! Возможно этот вопрос обсуждался на форуме... Тогда киньте плз сцылку (если Вас не затруднит)...
Есть ли возможность организовать несколько потоков в Keil'e???
На ассемблере Я это реализовывал - не сложно...

Если есть возможность, то подскажите как разделить время между процессами и/или переключится между ними...
Заранее ОГРОМНОЕ спасибо!!!


PS: Прошу прощения если вопросы простые - мне не у кого больше спросить...

Сообщение отредактировал BFunTic - Dec 28 2007, 22:18
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
777777
сообщение Dec 29 2007, 07:59
Сообщение #2


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

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(BFunTic @ Dec 29 2007, 01:15) *
Есть ли возможность организовать несколько потоков в Keil'e???
На ассемблере Я это реализовывал - не сложно...
Если есть возможность, то подскажите как разделить время между процессами и/или переключится между ними...

А какие проблемы - запускаешь таймер и по каждому срабатыванию переключаешься на другую задачу. Но при этом будут большие накладные расходы - надо сохранять/восстанавливать все регистры (не только R0-R7), для каждой задачи выделять стек... Лучше делать по-другому: написать диспетчер, который по кругу будет вызывать задачи, а они должны быть организованы так, чтобы работали ограниченное время. В микропроцессорной системе это не сложно: обычно находятся задачи которые что-то проверяют и если условие выполнилось что-то делают. Или динамическая индикация: на каждый вызов диспетчера она переключается на следующий индикатор. В этом случае не потребуется сохранять все регистры - задача сама сохранит только нужные, а стек будет один.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 15:47
Рейтинг@Mail.ru


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