Здравствуйте!
Работаю на СИ , CodeVisionAVR. Базовые понатия есть.
Подскажите можно ли вкл. два независимых цыкла в ATMEGA8?
Т.е. : при нажатии одной кнопки вкл. постоянное мигание светодиода и мигание на некоторое время.
2 независимых цыкла
Автор
Slava143
, 10 авг 2012 10:13
Сообщений в теме: 3
#1
Отправлено 10 авг 2012 - 10:13
#2
Отправлено 10 авг 2012 - 12:04
Можно и вариантов много. Постояное мигание можно сделать по прерыванию настроеного таймера, а в основном цикле мигать вторым светиком с отсчетом выдержки времени.
#3
Отправлено 10 авг 2012 - 19:42
Я ставлю прерывание на 10 мс. Переменные каждой "мигалки" инкрементируются если мигалка включена. По достижению нужного периода сбрасываются в 0.
В основном цикле автомат проверяет переменную, если больше полупериода - значит включить порт, если меньше - выключить. (для меандра, если нужна другая скважность надо просто поменять длину импульса в условии)
В основном цикле автомат проверяет переменную, если больше полупериода - значит включить порт, если меньше - выключить. (для меандра, если нужна другая скважность надо просто поменять длину импульса в условии)
#4
Отправлено 11 авг 2012 - 01:25
В некоторых проектах приходится решать более двух задач (было больше десяти) в режиме текушего времени, решаемо все, только есть некоторая погрешность.Слава богу по Т.З. проходит.