Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
18.05.2010, 12:05
|
|
Временная регистрация
Регистрация: 10.11.2007
Сообщений: 52
Сказал спасибо: 6
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
2 UART на Atmega128
Помогите разобраться с UART - ом на Atmege128. Я активирую обе порта контроллера. потом начинаю проверять порты по одному запрос и ответ. Пример:
while (1)
{
k=getcahr();
putchar(k);
g=getchar1();
putchar1(g);
};
так не работает
а по одному работает
while (1)
{
g=getchar1();
putchar1(g);
};
В чем проблема не подскажете. Может у кого то есть программки готовые на 2 порта. Я новичок. Заранее спасибо! не ругайте сильно
|
|
|
|
18.05.2010, 12:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: 2 UART на Atmega128
Сообщение от Fan79
|
на Atmege128. Я активирую обе порта контроллера
|
Вы в железе проверяете или в симуляторе? Если первое, то фьюз M103C случаем не установлен? Если установлен, то один из UART отключен, ведь в меге 103 был только один.
|
|
|
|
18.05.2010, 12:18
|
|
Временная регистрация
Регистрация: 10.11.2007
Сообщений: 52
Сказал спасибо: 6
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: 2 UART на Atmega128
я в железе проверял конечно. но не помню отключал или нет. надо попробовать как дома буду спасибо за совет. Попробую
|
|
|
|
18.05.2010, 20:58
|
|
Временная регистрация
Регистрация: 10.11.2007
Сообщений: 52
Сказал спасибо: 6
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: 2 UART на Atmega128
Фюзы M103C не установлен, т.е. в CodeVision не стоит галочка. M103C=1 получается совместимость отключен.
|
|
|
|
19.05.2010, 14:26
|
|
Прописка
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
|
Re: 2 UART на Atmega128
Сообщение от Fan79
|
активирую обе порта контроллера на Atmege128,
while (1)
{
k=getcahr();
putchar(k);
g=getchar1();
putchar1(g);
};
так не работает, а по одному работает. В чем проблема не подскажете?
|
Функции getchar и putchar работают со стандартным потоком ввода-вывода, так что вы не можете открыть сразу два СТАНДАРТНЫХ потока, он всего один.
Не знаю каким компилятором пользуетесь, для открытия канала попробуйте функции что-то типа fopen или fdevopen или fdev_setup_stream.
И поправьте ошибку в первой строке вашего кода getchar вместо getcahr.
|
|
|
|
23.05.2010, 15:46
|
|
Временная регистрация
Регистрация: 10.11.2007
Сообщений: 52
Сказал спасибо: 6
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: 2 UART на Atmega128
Не совсем ясно мне пока. Я пользуюсь компилятором CodeVisionAVR. Ну подскажите как использовать оба порта одновременно при работе. Может есть у кого то готовые коды. Был бо признателен. Спасибо
|
|
|
|
23.05.2010, 20:33
|
|
Прописка
Регистрация: 14.11.2009
Сообщений: 140
Сказал спасибо: 21
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
|
Re: 2 UART на Atmega128
Есть в примерах Сodevision (2 UART+LCD).
|
|
|
|
31.05.2010, 09:56
|
|
Временная регистрация
Регистрация: 28.02.2007
Сообщений: 90
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: 2 UART на Atmega128
Сообщение от Fan79
|
Не совсем ясно мне пока. Я пользуюсь компилятором CodeVisionAVR. Ну подскажите как использовать оба порта одновременно при работе. Может есть у кого то готовые коды.
|
Если CodeVisionAVR то у него есть кодевизард настраиваете сразу USART0 и USART1 на работу с прерываниями и пользуетесь готовыми функциями:
getchar и getchar1
putchar и putchar1
И не надо открывать никаких потоков.
ЗЫ. Только не надо забывать что если байт не получен то программа зависает в ожиданнии.
|
|
|
|
31.05.2010, 12:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Re: 2 UART на Atmega128
Чтоб не висло неиспользуйте getchar - там достаточно код посмотреть внимательно и будет ясно куда символы сваливаются и когда.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:30.
|
|