roboforum.ru

Технический форум по робототехнике.

примеры передачи данных с МК на МК для новичков

примеры передачи данных с МК на МК для новичков

к561ЛА7 » 06 апр 2010, 10:36

Поделитесь умом пожалуйста! Или хотя бы кусками кода .. А то непонятно ничего.

Re: примеры передачи данных с МК на МК для новичков

galex1981 » 06 апр 2010, 10:45

А по какому интерфейсу интересует передача данных?

Re: примеры передачи данных с МК на МК для новичков

pashteet » 06 апр 2010, 11:15

Пример кода для интерфейса UART, на языке Бэйсик (компилятор Баском АВР):
Сначала задаем частоту, на которой МК будут "общатся" между собой, командой $Baud 19200
Командой Print можно посылать данные, а команда Input отвечает за прием данных
При этом ногу Rx одного МК нужно соеденить с ногой Tx другого МК, соответственно ногу Tx первого - с Rx второго
Более детально можно прочитать в справочнике или в справке Баском АВР

Re: примеры передачи данных с МК на МК для новичков

к561ЛА7 » 06 апр 2010, 20:02

Наверно предпочтительней SPI, он скоростной, а так по любому ннтерфейсу, лишь бы передать.
По бейсику почти понятно, но работаю с Содвижн авр, , пишешь ПРИНТ Х1 и должно заработать, не понимаю как сделать чтобы
перменнные х1,х2, х3 , х4 с одного МК другим МК воспринимались именно как х1 - х1, х2-х2, х3-х3, а не х2-х4 например из за каких нибудь збоев. :bad:

Re: примеры передачи данных с МК на МК для новичков

avr123.nm.ru » 06 апр 2010, 20:29

Возможно на сайте CVAVR надо взять пример кода модема.

Re: примеры передачи данных с МК на МК для новичков

Sergey_B » 07 апр 2010, 23:38

Ежели проблема в идентификации, то следует (наверное) обратить внимание не только на аппаратную сторону коннекта, а еще и на протокол обмена. Если не известно время передачи информации - спасет только применение определеных последовательных кодовых пакетов. Простейший {пауза}FF FF FF 55 X1 X2 X3 X4 ... или что нибудь аналогичное.
Алгоритм приема приведенной последовательности примерно такой:
1-ждем сигнала в линии и занимаемся своими делами.
2-получив сигнал проверяем на FF если НЕТ то идем на 1
3-ждем не более определенного времени сигнала, если его нет то на 1
4-получив сигнал проверяем на
---если FF то на 3
---если НЕ 55 то на 1
5-принимаем поочередно X1,X2,X3....
6-возврат на 1.

п.с. прошу прощения у ГУРУ за простоту изложения не привязанную к конкретному языку.


Rambler\'s Top100 Mail.ru counter