roboforum.ru

Технический форум по робототехнике.
Текущее время: 05 май 2025, 20:59

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 11 янв 2006, 20:28 
Не в сети

Зарегистрирован: 22 окт 2005, 11:15
Сообщения: 345
Откуда: Красноярск
Возник вопрос как правильно организовать передачу данных в МК, а то может быть я пытаюсь изобрести велосипед. Как правильно распределять данные, тоесть отличать, номер сервы, угол поворота и контрольную сумму, друг от друга. Сейчас у меня это сделано по "порядковому номеру" получения данных в МК но мне кажеться это неправильным или это нормально? Для передачи я использую программу изначально написаную Александром, за что ему большое спасибо, Между передачами чисел стоит задержка, нужна ли она или можно отправлять числа без задержки а МК с компьютером сами разберуться? И правильно ли я понял что можно отправить число в пределах от 0 до 255 за одну отправку?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 янв 2006, 21:08 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Отправляется 1 байт. Это так всегда, потому как больше в ком-порт не пролезет. Я делаю так: есть формат посылки: заголовок, количество байтов, сами байты, стоп-байт. Иногда перед стопом еще и CRC идет, но это когда девайс рядом с источкиком помех находится. Все просто: пришла посылка, мы ее в массив положили и далше смотрим заголовок и соответствующим образом разбираем. Есть вариант сложнее, но надежнее. Каждый байт режется на пополам и раскладывается в 2 байта (4 старших сдвигаются вправо если это данные, 4 младших влево если команда) - это позволяет исключить перепутывания команд и данных. Третий вариант еще круче: эти полубайты клеются хитрым образом, так чтобы старшие 4 бита - это команда, а младшие - данные. Но тогда придется ограничиваться 16-ю командами, т.к. вся команда должна вместиться в 4 бита и быть у двух таких байтов одинаковой.

В ICC можно отправлять функцией putchar или puts без задержки, он сам контролирует состояния порта и по-очереди все туда складывает...


Последний раз редактировалось -= Александр =- 11 янв 2006, 21:15, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 янв 2006, 21:08 
Не в сети

Зарегистрирован: 18 дек 2004, 03:14
Сообщения: 155
Откуда: Москва
KiCom писал(а):
Как правильно распределять данные, тоесть отличать, номер сервы, угол поворота и контрольную сумму, друг от друга.


я использую такую штуку
http://www.spetspribor.com/support/soft ... /wake.html

принцип там простой, можно и самому что-нибудь написать на эту же тему.

P.S. и не надо ничего резать!  :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 янв 2006, 21:28 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
KiCom писал(а):
Возник вопрос как правильно организовать передачу данных в МК, а то может быть я пытаюсь изобрести велосипед. ?


там все - документация протокол схема исходники

http://www.microrobotna.com/mrservo8cpu.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 11 янв 2006, 21:55 
Не в сети

Зарегистрирован: 18 дек 2004, 03:14
Сообщения: 155
Откуда: Москва
avr123.nm.ru писал(а):
там все - документация протокол схема исходники

http://www.microrobotna.com/mrservo8cpu.htm


А где там, собственно, COM порт?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 янв 2006, 13:32 
Не в сети

Зарегистрирован: 22 окт 2005, 11:15
Сообщения: 345
Откуда: Красноярск
У меня где-то теряются данные (одно число из пакета пропадает) что может быть причиной? МК Atinny 2313  кварц на 11.0592 вроде UART'товский.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 янв 2006, 14:15 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
KiCom писал(а):
У меня где-то теряются данные (одно число из пакета пропадает) что может быть причиной? МК Atinny 2313  кварц на 11.0592 вроде UART'товский.


Это загадка ? предлагаешь отгадать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 янв 2006, 20:16 
Не в сети
Аватара пользователя

Зарегистрирован: 15 мар 2005, 14:08
Сообщения: 8
Откуда: Киев, Украина
Попутный вопрос по теме.
Можно ли в обвязке микросхем, реализующих интерфейс RS-232, конкретно:MAX232A, MAX202CPE вместо электролитов 0,1 мкФ поставить керамические конденсаторы 0,1 мкФ ?
Я поставил. Все работает. Видимых глюков нет. Но меня интересует - равноценная ли это замена ?
Может быть я просто не накопил достаточную статистику ошибок передачи ?
Кто в этом разбирается, пожалуйста, дайте свой ответ - есть ли потенциальная проблема в применении керамики для MAX232A, MAX202CPE ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 янв 2006, 20:28 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Я встречал керамику и в промышленных девайсах, так что думаю там нет разницы керамика или электролиты. Но в даташите все-же электролиты нарисованы.  :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 янв 2006, 12:02 
Не в сети
Аватара пользователя

Зарегистрирован: 15 мар 2005, 14:08
Сообщения: 8
Откуда: Киев, Украина
Я целенаправлено искал ответ на свой вопрос в Инете, но кроме фото с керамическими конденсаторами в обвязке некоторых МАХ-ов (или аналогов от ST) я пока ничего не нашел. Некоторые ставят керамику вопреки рекомендациям Даташита. Хотелось бы знать - чем это чревато ?
Чем отличается физика работы электролитов малой емкости (0,1 мкФ) от керамических конденсаторов ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO