реклама на сайте
подробности

 
 
> Соединить 2 atmega168 по USART, тактуются от одного источника
Filov
сообщение Mar 3 2008, 08:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170



Здравствуйте!

Пытаюсь обеспечить передачу данными по USART между двумя мегами 168. Обе тактются от одного внешнего источника частотой 12.5МHz. BAUD=500 на обоих мегах.

Использую polled версия работы s USART из App.Note от производителя.

Соединяю так:
Код
Rx    --  Tx
Tx    --  Rx
XCK  --  XCK



Передаю число первой мегой - вторая Atmega должна принять и соответсвующее количество раз мигнуть светодиодом.

Передаю 1 - мигает 2 раза
Передаю 2 - мигант 12 раз
Передаю 3 - мигает 14 раз sad.gif

После того как 2 мега мигнула светодиодами она должна вернуть первой константу.
Но такое ощущение что в буфере приема первой меги находится больше чем одно число. Т.к. она принимает контсанту еще до того как вторая закончила мигать светодиодами. Причем число не совпадает с той константой, что должна передать 2 мега.

Подскажите, пожалуйста, что делать, чтобы заработало?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GDI
сообщение Mar 3 2008, 12:40
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата
Я так понял после прочтения документации, что по XCK происходит тактование. А разве допустим для асинхронной передачи достаточно соледенить допустим Rx одного с Tx другого? А для синхронной соответсвенно Rx1----Tx2 и Tx1----Rx2?

Тактирование нужно только в синхронном режиме, в асинхронном же нужно всего лишь соединить Rx1----Tx2 и Tx1----Rx2, ну и землю, естественно.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Filov
сообщение Mar 3 2008, 13:17
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 113
Регистрация: 8-10-07
Пользователь №: 31 170



Цитата(GDI @ Mar 3 2008, 15:40) *
Тактирование нужно только в синхронном режиме, в асинхронном же нужно всего лишь соединить Rx1----Tx2 и Tx1----Rx2, ну и землю, естественно.


Спасибо, попробую вечером добиться верной пересылки в асинхронном режиме. Только инициалюзацию USART я так понимаю надо поменять немного.

Цитата(Aesthete Animus @ Mar 3 2008, 16:03) *
2Filov
Скажите, а чем вызвано желание использовать именно USART, к тому же, в синхронном режиме?


Я как начинающий понял, что это самый стандартный и безболезненный способ передавать данные от одного МК к другому. Или я ошибаюсь? И USART в асинхронном режиме реализовать проще?
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Mar 3 2008, 13:29
Сообщение #4


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Filov @ Mar 3 2008, 18:17) *
Я как начинающий понял, что это самый стандартный и безболезненный способ передавать данные от одного МК к другому. Или я ошибаюсь? И USART в асинхронном режиме реализовать проще?

Скажем так, если меги стоят на одной плате, то еще их можно соединить через SPI. Мне лично так было проще. Кстати для приема лучше использовать прерывание.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Filov   Соединить 2 atmega168 по USART   Mar 3 2008, 08:40
- - GDI   А зачем сигнал XCK - вы в синхронном режиме чтоли ...   Mar 3 2008, 10:17
|- - Filov   Цитата(GDI @ Mar 3 2008, 13:17) А зачем с...   Mar 3 2008, 10:57
- - blackbit   оп-с.. а земли (GND) вы им действительно не соедин...   Mar 3 2008, 10:32
|- - Filov   Цитата(Stanislav_S @ Mar 3 2008, 16:29) С...   Mar 3 2008, 14:10
|- - =GM=   Цитата(Filov @ Mar 3 2008, 14:10) Да надо...   Mar 3 2008, 15:04
|- - mdmitry   Цитата(=GM= @ Mar 3 2008, 18:04) 3) Не мо...   Mar 3 2008, 15:18
|- - KRS   Цитата(=GM= @ Mar 3 2008, 18:04) потому ч...   Mar 3 2008, 15:26
|- - =GM=   Цитата(KRS @ Mar 3 2008, 15:26) Это почем...   Mar 3 2008, 16:27
|- - KRS   Цитата(=GM= @ Mar 3 2008, 19:27) 1) У мас...   Mar 3 2008, 16:42
- - Aesthete Animus   2Filov Скажите, а чем вызвано желание использовать...   Mar 3 2008, 13:03
- - GDI   ЦитатаТолько инициалюзацию USART я так понимаю над...   Mar 3 2008, 14:24
- - GDI   Имхо, в синхронном режиме USART очень похож на SPI...   Mar 4 2008, 07:22
|- - KRS   Цитата(GDI @ Mar 4 2008, 10:22) Имхо, в с...   Mar 4 2008, 09:50
- - Filov   Вообщем действительно USART работал у меня в асинх...   Mar 4 2008, 09:27
- - GDI   Ну, во первых, посмотрите осциллографом, что у вас...   Mar 4 2008, 09:49
|- - Filov   Цитата(GDI @ Mar 4 2008, 12:49) Ну, во пе...   Mar 4 2008, 09:53
- - GDI   ЦитатаКстати не во всех чипах есть режим SPI, (нап...   Mar 4 2008, 09:57
- - Filov   Цитата(GDI @ Mar 4 2008, 12:57) Это я зна...   Mar 4 2008, 10:04
- - defunct   Цитата(Filov @ Mar 4 2008, 12:04) Констан...   Mar 4 2008, 10:47
|- - Filov   Цитата(defunct @ Mar 4 2008, 13:47) А теп...   Mar 5 2008, 09:39
|- - mdmitry   Цитата(Filov @ Mar 5 2008, 12:39) Это я в...   Mar 5 2008, 15:55
|- - defunct   Цитата(Filov @ Mar 5 2008, 11:39) Т.е. мо...   Mar 5 2008, 16:30
- - mdmitry   Цитата(Filov @ Mar 4 2008, 13:04) Кстати ...   Mar 4 2008, 10:48


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 23:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01406 секунд с 7
ELECTRONIX ©2004-2016