Страница 1 из 1

Ньюб вопрос 2 UARTа ввод/вывод пользовать одонвременно

Добавлено: Ср мар 10, 2010 14:29:24
leftmails
Добрый день!
В заранее прошу прощение за свой ньюб вопрос, но честное слово не могу разобраться самостоятельно, а заключается он в том, как мне обмениваться данными по UART если у меня их 2.
1 порт(юарт) - ПК
2 порт(юарт) - на линию 485 через мах485
раньше обменивался данными через АТмегу16 все норм, но там 1 юарт.)
Использую мк ATMega162, компилятор CodeVision

Пожалуйса подскажите.

Добавлено: Ср мар 10, 2010 14:36:11
GP1
И в чем проблема?
в 162-й их два, хотя я думаю можно и 1-м обойтись, если не критично по времени обмена.

Добавлено: Ср мар 10, 2010 14:45:19
leftmails
Проблемы нет... настройка и прочее не волнует...

меня волнует как в коде на Си в компиляторе отсылать и принимать данные с разных УАРТОВ

допустим когда 1 ЮАРТ puts("asdfsd");
а когда их 2 как вывести?
Вот на примере...
Мне надо в 1 юарт послать "Первый111"
А во второй юарт "Второй222"
Затем получить от первого "ответ11"
И от второго "222"
Я не знаю как это сделать для 2 юартов одновременно

Добавлено: Ср мар 10, 2010 15:22:45
GP1
Ну это жди пока Си-шники подключатся, я токмо на асме. :?

Добавлено: Ср мар 10, 2010 15:24:46
leftmails
В примерах сия компилятора нашел

poutput=USART0;
printf("This is a test of USART%u.\r",0);

// printf output will be directed to USART1
poutput=USART1;
printf("This is a test of USART%u.\r",1);


Это для тех у кого возникнет аналогичный вопрос...
Плату протравлю прошью МК, если не получится реанимирую тему)

Добавлено: Пт мар 12, 2010 09:10:00
leftmails
К сожалению этот код (который в примерах CAVR,прикладываю)не помог, посылает оба сообщения в один порт...
Генерирую код в CAVR для 2 портов в разные порты получается посылать только через putchar и putchar1 (это при генерации кода), но посылается только 1 символ, больше 1 символа не могу.