Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
многопотоковость
Отправлено
PALзабылпароль 26 сентября 2007 г. 13:04
Ув. коллеги, уперся рогом в такую эпидерсию. Пишу железку на АРМе, к-рая будет выполнять длинную по времени, останавливающуюся, ожидающую местами различных внешних событий макрофункцию. Точнее их несколько, но они будут запускаться поочередно. И вместе с макро-функцией, а точнее для обеспечения её работы должны работать некоторое количество вызываемых время от времени коротеньких подпрограммок(АЦП, обсчет измерений, драйвер клавиатуры, прорисовка картинок, драйвер индикатора, работа с внешними микросхемами(часы, память...)). Т.к. я категорически не допускаю мысль засовывать всю эту мелюзгу в прерываия [от таймера], получается что макрофункция не может работать непрерывно. Можно так же вызывать её по временным меткам, но нужно сохранять контекст, а он довольно сложный. Кто как поступал в подобных ситуациях? Буду признателен.
Составить ответ | Вернуться на конференцию
Ответы
- самописаная кооперативная, 99% задач закрываю ей — lmu (26.09.2007 19:06:36 80.64.94.252, пустое)
- У меня самодельная ОС, корпоративная, не реал. Занимает очень мало места. Фрагмент для ATTiny2313 (+) — Михаил Е. (26.09.2007 15:58:34 81.13.25.114, 6406 байт)
- А квазинепрерывно? — Vit (26.09.2007 14:10:27 83.170.240.226, 371 байт, ссылка, картинка)
- Альтернатива OC и прерыванию от таймера - прерывания от четырех таймеров :-) Я использовал 2 мс, 10 мс, 100 мс, 1 с и все фоновые процессы включал туда. Были бы приоритеты прерываний. — Vladimir Ljaschko (26.09.2007 14:03:22 194.158.204.49, пустое)
- Ответ: А как ты будешь определять моменты запуска "вызываемых время от времени коротеньких подпрограммок(АЦП, обсчет измерений, драйвер клавиатуры, прорисовка картинок, драйвер индикатора, работа с внешними микросхемами(часы, память...))." без таймера??? И ещё вопрос....Да нет пока не буду...Подождём пока ты более внятно опишешь задачу — Не заполнено имя (26.09.2007 13:24:39 217.118.66.45, пустое)
- Ответ: — Artem-1.6E-19 (26.09.2007 13:21:3 91.124.31.14, пустое)
- Ответ: — Artem-1.6E-19 (26.09.2007 13:25:52 91.124.31.14, пустое, ссылка)
- Если у Вас есть толпа лишних ресурсов, то ставьте ОС и не думайте. А если ресурсов лишних нет, то (+) — SM (26.09.2007 13:21:3 85.21.237.237, 460 байт)
- Операционку надо. — Звероящер (26.09.2007 13:12:23 80.66.68.158, пустое)