Страница 3 из 3
Re: Подключение 12 вольтового индикатора к МК
Добавлено: Сб мар 31, 2012 10:45:23
BOB51
GP1
для устранения проблем нерационального расхода времени просто переводится сканер дисплея/клавиатуры в фоновый режим вместо указанного в той программе основного...

только вот у меги и малых пиков (в отличии от 8051) нет приоритетного контроллера прерываний... "мудрить" надобно...

Re: Подключение 12 вольтового индикатора к МК
Добавлено: Сб мар 31, 2012 12:01:06
GP1
BOB51
у меня весь вывод организован в фоновом режиме
и мудрить особо ничего не надо, просто используется один таймер настроенный на прерывание 2-5 мс.
а поскольку это процесс не требующий особой точности +/-200..300 мкс ни как не повлияет, это 180-250 инструкций, и если бы у АВРов были приоритеты, этому процессу можно смело присвоить низший приоритет.
Re: Подключение 12 вольтового индикатора к МК
Добавлено: Сб мар 31, 2012 19:26:08
BOB51
это если только один процесс использует прерывания, или потоки синхронизированы...
опять же без разрешения прерываний внутри текущего у аврки не обойтись - что уже есть необходимость немножко "помудрить" по сравнению с автоматическим исполнением у 8051 (о 10/12/16 пиках уж ...

)

Re: Подключение 12 вольтового индикатора к МК
Добавлено: Сб июн 09, 2012 19:55:25
vitalik_1984
Вроде как у авр есть приоритет прерываний, как по списку идет, так сверху более высокий.Как я понял.
Re: Подключение 12 вольтового индикатора к МК
Добавлено: Вс июн 10, 2012 09:09:51
BOB51
так весь фокус в том, что для AVR это уже будет "вложенное прерывание" которое еще необходимо предварительно разрешить во всех прерываниях более низкого уровня
здесь есть приоритет, но нет автоматического выполнения прерываний высшего уровня во время исполнения прерывания низшего уровня (в отличии от контроллеров mcs51 и урезанного до 2-хуровней вложений на pic18)

Re: Подключение 12 вольтового индикатора к МК
Добавлено: Вс июн 10, 2012 11:22:24
vitalik_1984
а зачем во всех?только в том,который хотим в фоновый режим отправить.
Re: Подключение 12 вольтового индикатора к МК
Добавлено: Вс июн 10, 2012 11:47:57
BOB51
во всех примененных в данной программе, если есть приоритет хотя бы у одного из них
"ни одно прерывание не может быть выполнено пока не исполнится одна команда после reti",
а "вложенное", даже если его "приоритет" (размещение вектора в таблице векторов) будет выше не будет исполняться, если на данный момент уже исполняется другое, пусть даже и более низкого уровня, прерывание без соответствующего на то разрешения со стороны программиста...
(в mcs51 / pic18 автоматически выполнится прерывание высшего приоритета, если оно разрешено)