Atmega8 USART

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Zalognik
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб фев 04, 2012 04:26:06
Откуда: Киев

Atmega8 USART

Сообщение Zalognik »

Зравствуйте. Передаю с одной меги8 данные в виде:

Код: Выделить всё

USART_Init (6);
      USART_Transmit(data[1]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[2]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[3]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[4]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[5]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[6]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[7]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[8]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[9]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[10]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[11]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[12]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[13]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[14]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[15]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[16]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[17]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);
      USART_Transmit(data[18]);
      USART_Transmit(0x0d);
      USART_Transmit(0x0a);

Как на другой меге8 отделить иненно переменные data[i], так чтоб она думала что ето 18 отдельных цыфр.
Древняя китайская мудрость гласит: [b]«НИ СЫ!»[/b], что означает: [i]«Будь безмятежен, словно цветок лотоса у подножия храма истины»[/i]
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Atmega8 USART

Сообщение ploop »

Мдя... Кричат тут, что Си крутой язык... а он даже циклов не поддерживает! :)))

Как на другой меге8 отделить иненно переменные data[i], так чтоб она думала что ето 18 отдельных цыфр.

Выкинуть 0x0d, 0x0a или тут, или там.
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: Atmega8 USART

Сообщение SubDia »

Никак. Передавать байт-метку разве что перед передачей байта из массива.
Иначе это такие же данные, как и все остальное.
Впрочем, я вижу, что интересующий нас байт идет первым в тройке. Если это - закономерность, то просто на приемной стороне каждый третий байт складывать в отдельный массив, да и все.

ploop писал(а):Мдя... Кричат тут, что Си крутой язык... а он даже циклов не поддерживает! :)))

:))) :))) :)))
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Atmega8 USART

Сообщение hybroid »

Мдя. Пальцы до крови не стёрлись, пока это писалось? Шедевр достоин этого ресурса: http://govnokod.ru/
Zalognik
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб фев 04, 2012 04:26:06
Откуда: Киев

Re: Atmega8 USART

Сообщение Zalognik »

Мдя... Кричат тут, что Си крутой язык... а он даже циклов не поддерживает!

Как раз в программе такая передача выполнена в виде цыкла, просто здесь написал в таком виде чтоб понятно было (ну мне так кажетса, не кидайте тапками). :shock:
Древняя китайская мудрость гласит: [b]«НИ СЫ!»[/b], что означает: [i]«Будь безмятежен, словно цветок лотоса у подножия храма истины»[/i]
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Atmega8 USART

Сообщение hybroid »

Тут же не восьмибитные люди сидят :)) Лучше циклом, не так пугает :)))
Zalognik
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб фев 04, 2012 04:26:06
Откуда: Киев

Re: Atmega8 USART

Сообщение Zalognik »

Тут же не восьмибитные люди сидят Лучше циклом, не так пугает

Ок, учту :)) . Просто я таким страдаю всего 4 месаца, так что до совершенства мне ой как далеко.
Древняя китайская мудрость гласит: [b]«НИ СЫ!»[/b], что означает: [i]«Будь безмятежен, словно цветок лотоса у подножия храма истины»[/i]
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: Atmega8 USART

Сообщение SubDia »

hybroid писал(а):Тут же не восьмибитные люди сидят :))

Зашел на указанный Вами ресурс в раздел C#, тут же ощутил себя восьмибитным. :)))
Прошу прощения за оффтоп.)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Zalognik
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб фев 04, 2012 04:26:06
Откуда: Киев

Re: Atmega8 USART

Сообщение Zalognik »

Кстати, кому интересно, сделал для USART;
Вложения
Atmega8 калькулятор.rar
(94.09 КБ) 170 скачиваний
Древняя китайская мудрость гласит: [b]«НИ СЫ!»[/b], что означает: [i]«Будь безмятежен, словно цветок лотоса у подножия храма истины»[/i]
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Atmega8 USART

Сообщение hybroid »

SubDia писал(а):Зашел на указанный Вами ресурс в раздел C#, тут же ощутил себя восьмибитным. :)))

А какие шедевры в разделе PHP :cry: Иногда радует больше bash.org'а! Кстати, C# чем-то похож на Java: пока создашь скелет проекта - неминуемо складывается ощущение, что уже написал половину ПО для космического корабля.
Прошу прощения за оффтоп..
Zalognik
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб фев 04, 2012 04:26:06
Откуда: Киев

Re: Atmega8 USART

Сообщение Zalognik »

А конструктивные предложения будут? просто data[i] может бить однозначным, двухзначчным и трехзначным. Можна както это обойти. Если предложение с кодом - так воще кайф. Заранее спасибо.
Древняя китайская мудрость гласит: [b]«НИ СЫ!»[/b], что означает: [i]«Будь безмятежен, словно цветок лотоса у подножия храма истины»[/i]
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Atmega8 USART

Сообщение hybroid »

Zalognik писал(а):может бить однозначным, двухзначчным и трехзначным.

Или 8, 16 и 24-х битным?
Ну вы же передаёте 2 байта-метки, после каждого значения. Вот их ловите. Пока не словили - у вас один элемент массива. Словили - инкрементируйте (i++) и заполняйте новый элемент.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Atmega8 USART

Сообщение ploop »

Если ваши данные в массиве могут содержать такую метку (а они по определению могут, если там, например, не текст или другой обговорённый формат), то только делать выравнивание по блоку данных. 4 байта - так 4 байта, не меньше. Иначе - как сказал hybroid, по меткам.
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Atmega8 USART

Сообщение hybroid »

Кстати, хотелось добавить бы. Это называется сериализация. Попробуйте погуглить на эту тему какие-нибудь статьи. Готовую либу, естественно, цеплять - это маразм, но хотя бы на будущее будете знать, как можно и какие есть подводные камни.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»