[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено lmu 16 мая 2003 г. 12:00
В ответ на: Ответ: Точнее вопрос....(+) отправлено PAL 16 мая 2003 г. 11:39

обработчик прерывания :
1. Прилетел 0x40
2. Ставим флажок 'Размер'. Это означает что синхро пойман, и сейчас прилетит размер. ( 1 байт )
3. Прилетает размер. Ставим флажок 'Данные'.
4. Принимаем "размер" данных. Во время приема подсчитывыаем CRC.Ставим флажок 'CRC'.
5. Принимаем байт CRC.
6. Сравниваем свертки, если все ок, ставим флажок 'Принята посылка'
все эти флажки можно обозначать символами например 'C' 'D' 'S' и иметь таким образом одну переменную типа char. После приема пачки обнулять переменную. В фоновм режиме проверять, если переменная не ноль, следовательно чтото начали принимать и проверяем переменную TimeOut. После приема каждого байта сбрасываем эту переменную

для моих приложении размер обработчика вполне приемлим
в фоновом режиме
1. Проверяем флажок 'Принята посылка' если установлен ( а второй байт буфера - размер ) можно влепить проверка на ожидаемую длину ответа

CRC8 считается достаточно просто и быстро. Время выполнения 4.6 мкс на частоте 3.6864 МГц

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru