[an error occurred while processing this directive]
Я делал, могу вырезать куски из программы. Коротко описание :
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено umup 23 июля 2006 г. 12:10
В ответ на: Виноват - еще не проснулся:(+).... отправлено ETM 23 июля 2006 г. 11:41

есть приёмный буфер (массив ,достаточный для приёма входного запроса), счётчик принятых байт, текущая к.с. (сначала инициализируется в FFFFh).
Есть прерывание от одного из таймеров (частота обычно 1-4кГц, используется еще для индикации, клавиатуры, периодических событий и т.п.). В этом прерывании увеличивается счетчик тайм-аута, при превышении заданного времени (10-20 мсек) счётчик принятых байт обнуляется, к.с. инициализируется заново.
В прерывании приёма байта : при возникновении любой ошибки приёма всё обнуляется, при нормальном приёме пересчитывается к.с. для принятого байта, байт кладётся в буфер приёма, счётчик принятых байтов увеличивается. При достижении счётчиком нужной величины сравниваются к.с., правильность номера прибора,команда. если правильно, в этом же буфере инициализируется буфер передачи : к.с. = FFFFh, счётчик=0 и т.п., делается небольшая пауза перед передачей, запрещается приём, разрешается передача.
В прерывании передачи байта : считается к.с. следующего байта, передаётся следующий байт, увеличиваеся счётчик до передачи всего буфера, после последнего байта запрещается передача, разрешается приём.
При подсчёте к.с. нужно также контролировать номер байта и не учитывать два последних принятых, т.к. это принятая к.с.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание