| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > USART Atmega 128 |
| Автор: deeman30rus 31.5.2012, 15:41 | ||||
| Доброго времени суток товарищи обращаюсь к вам с такой проблемой. у меня есть отладочная плата ATMEGA128 с преобразователем USB\COM на борту, она работает на 8МГц частоте. обнаружил такую проблему. на этой частоте не работает приём по USART0 настройка USART
тело программы
если закомментить строчку scanf(), то всё работает кошерно, т.е. в порт передача есть, а приёма нет! почему такое может быть ? та же самая ерунда и с getchar() в качестве билдера использую CodeVision AVR программатор USBASP |
| Автор: LeonidPr 1.6.2012, 07:14 |
| С ATMEGA не работал, но может и так чем помогу. Во - первых, исправна ли плата, если возможно, посмотрите линию RX контроллера осциллографом, приходит ли туда сигнал, когда вы посылаете байт на плату? Во - вторых, преобразователь наверняка собран на чем-то типа FT232 от FTDI. При подключенном USB кабеле в компьютере, который используется для связи должен появиться виртуальный COM порт. Все ли нормально с ним (есть ли в наличии, включен ли, установлена ли последняя версия драйверов). Далее, какой программой пользуетесь для передачи? Сответствует ли скорость передачи, установленная в программе, скорости, на которой работает контроллер? P.S. Хотя, если вы говорите, что передача от платы есть, наверное с настройками все в порядке. Но не помешает проверить. Насколько я понимаю scanf ждет прихода CR/LF. Отсылаете символ перевода строки в конце посылки? |
| Автор: xvr 2.6.2012, 18:48 |
| И еще вопрос - как в программе описан message? |