Без описания |
Поиск в теме | Версия для печати |
nest  |
Отправлено: 18 Мая, 2011 - 00:40:37
|

Администратор

Сообщений всего: 4866
Дата рег-ции: Сент. 2009
|
skyburn пишет:Блииннн все равно не понимаю, как он приймет именно 256 байт, а потом снова, если придут 256, то как он снова их запишет в массив. А это всё ручками разгребать, ручками Иначе - никак.
Берём лопатку и кидаем байты на транспортёрную ленту.
В приёмной стороне берём опять лопатку и раскидываем прибывшие кучки как нам нужно 
skyburn пишет:Или это указывается при отправке с ПК сколько данных будет передано? Для этого указываются СТАРТ-кондишн и СТОП-кондишн Добро пожаловать в протоколы 
Почитайте какие бывают, можете выбрать на своё вкус.
Или можете свой придумать.
Принцып такой: закрепляется за каким то кодом СТАРТ-условие (например пара каких то специфичных байтов), и от этого уже прыгается.
СТОП-условие может и отсутствовать. Длину пакета тоже можно указывать, а можно и не указывать...
Например:
пакет состоит из:
СТАРТ-условия ASCII символа "S",
далее идёт 256 байт кода,
в заключение пошлите на всякий случай контрольную сумму (хватит просто про XOR-ить все 256 байтов, но можно и позаковыристей придумать).
В данном примере есть один момент: среди 256 байтов могут встретиться байт-код буквы "S", как его отличить от СТАРТ-условия? - а никак.
поэтому сами 256 байт ваши приходится ещё раз кодировать во что то. И скорее всего 256 байтов вырастут наполовину (в зависимости от кодирования), а то и в несколько раз.
В общем вот такое ... грузилово 
Вам как то придётся обернуть ваши 256 байтов в транспортный протокол.
(мне больше понравился с бит-стаффингом, но у меня и пакет был не более 8 байтов)
Кстати, можете ваши 256 байтов передавать построчно - по 8 байтов в пакете...
ну ... большое поле для деятельности с потайными граблями  |
|
|
skyburn |
Отправлено: 08 Июня, 2011 - 17:46:24
|

Маршал

Сообщений всего: 124
Дата рег-ции: Янв. 2011
|
Опять вернемся к нашей Тини2313. ПРоблема теперь в следующем. Я не взял во внимание, когда делал прототип с матрицей 4х4, что матрица 16х16 не влезет. Мне пишет что не хватает памяти =(
Нужно как то решать проблему, и срочно.
Я использую 4 сдвиговых регистра, к ним подключены 256 светодиодов. то есть, к 2 м сдвиговым регистрам подключены 16 плюсов столбиками, а к 2ой паре подключены 16 минусов строками.
Теперь вопрос, как заставить это все работать так как нужно (
(Добавление)
И еше вопрос, почему такое большое число ошибок при передаче данных по ЮАРТ, данные передаю из МК, и как от этого избавиться. Я передаю символ 'a'. Вот что получаю:
aaaaaaÿaaaa}}aa}}aaÿaaaÿaaaÿaaa}aaßaaa}}
aa}}aa}}aa}qaaÿaaaaaaÿaaaÿaaaÿaaaÿaaaÿaaa}yaaaýaaaÿaaayýaaaÿaaaaýaaaÿaaaq
То есть видно сколько раз передалось не "а" а бог знает что |
|
|
|
Поиск в теме | Версия для печати |
Страниц (5): « 1 [2] 3 4 5 » |
« Программирование микроконтроллеров » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
  |
|
|
|