У меня программа принимает некоторый пакет байт по UARTу, затем шлет ответ. И прием и отправку делаю по прерываниям. При этом отсылаемый пакет иногда дублируется. Если же в основной программе после разрешения прерывания передатчика вставить паузу не менеее длины посылки, то работает идеально. Напрашивается вывод что в обработчике прерывания по передаче меняется SREG, и цикл ожидания по команде BRNE сваливается на передачу еще одного пакета. Всвязи с этим чайницкий вопрос. А SREG в обработчике сохраняется? И если нет, то как его сохранить?
|