Atmega8 USART

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

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

Сообщение ploop »

Мдя... Кричат тут, что Си крутой язык... а он даже циклов не поддерживает! :)))
Как на другой меге8 отделить иненно переменные data, так чтоб она думала что ето 18 отдельных цыфр.

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

Сообщение SubDia »

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

Сообщение hybroid »

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

Сообщение Zalognik »

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

Сообщение hybroid »

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

Сообщение Zalognik »

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

Сообщение SubDia »

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

Сообщение Zalognik »

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

Сообщение hybroid »

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

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

Сообщение Zalognik »

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

Сообщение hybroid »

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

Сообщение ploop »

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

Сообщение hybroid »

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

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