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

 
 
 
Reply to this topicStart new topic
> ATMega8 и COM-порт, Помогите разобраться
max779
сообщение May 24 2005, 13:23
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 25-04-05
Из: Москва
Пользователь №: 4 467



Привет всем.

Люди помогите разобраться. Хотел сделать, чтобы через COM-порт записывался в AVR символ (например '1'), а тот в соответствии с его кодом зажигал диод либо 1-ый, либо 2-ой, либо еще какой. Так вот, программа на С с прерыванием по USART на получение байта. Смотрю в VMLAB. Получается такая картина: пишем байт, срабатывает прерывание, в функции пара строк:
char u;
u = UDR;
прерывание успешно сбрасывается. Только проблема в том, что в UDR не код переданного символа, а все биты равны единице кроме 0 бита, который иногда единице равен, а иногда 0.
В VMLAB для терминала следующая строка:
X_MyRS232 TTY(9600 8) PD0 PD1
Вот может что не так прописал? Направьте на путь истинный.
Go to the top of the page
 
+Quote Post
acex2
сообщение May 24 2005, 15:10
Сообщение #2


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(max779 @ May 24 2005, 10:23)
Привет всем.

Люди помогите разобраться. Хотел сделать, чтобы через COM-порт записывался в AVR символ (например '1'), а тот в соответствии с его кодом зажигал диод либо 1-ый, либо 2-ой, либо еще какой. Так вот, программа на С с прерыванием по USART на получение байта. Смотрю в VMLAB. Получается такая картина: пишем байт, срабатывает прерывание, в функции пара строк:
char u;
u = UDR;
прерывание успешно сбрасывается. Только проблема в том, что в UDR не код переданного символа, а все биты равны единице кроме 0 бита, который иногда единице равен, а иногда 0.
В VMLAB для терминала следующая строка:
X_MyRS232 TTY(9600 8) PD0 PD1
Вот может что не так прописал? Направьте на путь истинный.
*


Скорее всего частоту самого кристалла забыли правильно выставить. Проверьте параметр .CLOCK в файле конфигурации.
Go to the top of the page
 
+Quote Post
max779
сообщение May 24 2005, 18:25
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 25-04-05
Из: Москва
Пользователь №: 4 467



Да, точно, каюсь. Частота была неверной. Вроде все работает.
А не могли бы еще подсказать, схему подключения этого микроконтроллера к COM-порту копьютера. Ну уж очень хочется посмотреть, на то, как все работает...
Go to the top of the page
 
+Quote Post
acex2
сообщение May 24 2005, 18:47
Сообщение #4


Адепт
****

Группа: Свой
Сообщений: 520
Регистрация: 15-02-05
Пользователь №: 2 656



Цитата(max779 @ May 24 2005, 15:25)
Да, точно, каюсь. Частота была неверной. Вроде все работает.
А не могли бы еще подсказать, схему подключения этого микроконтроллера к COM-порту копьютера. Ну уж очень хочется посмотреть, на то, как все работает...
*


Стандартная схема: линии TxD, RxD от uC через MAX232 (+4 конденсатора). Терминал можно использовать родной от Windows, хотя лучше взять более продвинутый терминал здесь: http://www.hw-server.com/software/termv19b.html
Go to the top of the page
 
+Quote Post
anton
сообщение May 28 2005, 09:07
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 622
Регистрация: 31-07-04
Пользователь №: 422



Посмотри схему стандартного програматора от Atmel схема COM преобразователя всего на двух транзисторах сам пользуюсь на 2м кабеле без сбоев до 115кб работает (лежала на родном сайте фирмы huh.gif ).
Go to the top of the page
 
+Quote Post

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

 


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


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