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

 
 
> USART на ATMega 16, На комп выдает непонятные символы
ILYCHOFF
сообщение Feb 3 2006, 13:32
Сообщение #1


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

Группа: Свой
Сообщений: 78
Регистрация: 5-07-05
Из: Великий Новгород
Пользователь №: 6 536



Пытаюсь передать на комп информацию, а передаются какие-то непонятные символы. С железом вроде все нормально. Спаяно правильно. Прием передача рааботает. На компе использую прогу RS 232 Pro, но пробовал и другие тоже самое. Помогите пожалуйста разобраться в чем причина. Проц мега16, кварц 4 МГц.
Вот прога:

#include <mega16.h>

// Standard Input/Output functions
#include <stdio.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
PORTA=0xFF;
DDRA=0x00;

PORTB=0xFF;
DDRB=0x00;

PORTC=0x00;
DDRC=0xFF;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: Off
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
UCSRA=0x00;
UCSRB=0x08;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

for (;;)
{
putsf("RT000");
delay_ms(500);
};
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AVR
сообщение Mar 14 2006, 23:43
Сообщение #2


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Посоветуйте, пожалуйста, недорогую микросхему в DIP корпусе для того чтобы подключить контроллер с uart к com порту ПК на расстоянии одного метра и скоростью 57600 бит/с. Насколько я понимаю, на выходе TXD контроллера низкий логический уровень ~0 В, а высокий около напряжения питания (например 5 В). С другой стороны com порт воспринимает +11 В как единицу и -11 В как ноль. Выполняют ли такое преобразование микросхемы типа max232 (помимо инверсии)?


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 15 2006, 02:53
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(AVR @ Mar 15 2006, 01:43) *
С другой стороны com порт воспринимает +11 В как единицу и -11 В как ноль. Выполняют ли такое преобразование микросхемы типа max232 (помимо инверсии)?

Да. max232 - это преобразователь уровней RS <-> TTL.

Цитата(AVR @ Mar 15 2006, 01:43) *
Насколько я понимаю, на выходе TXD контроллера низкий логический уровень ~0 В, а высокий около напряжения питания (например 5 В). С другой стороны com порт воспринимает +11 В как единицу и -11 В как ноль.

Думаю, если Вы не делаете промышленное устройство, то простого инвертора на одном транзисторе (по каждому каналу) будет достаточно. Из собственных экпериментов точно знаю, что COM порт компьютера нормально воспринимает уровни TTL так:
меньше 3V- лог. 1
больше 3V -лог. 0
Go to the top of the page
 
+Quote Post
AVR
сообщение Mar 16 2006, 21:02
Сообщение #4


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(defunct @ Mar 15 2006, 05:53) *
Думаю, если Вы не делаете промышленное устройство, то простого инвертора на одном транзисторе (по каждому каналу) будет достаточно. Из собственных экпериментов точно знаю, что COM порт компьютера нормально воспринимает уровни TTL так:
меньше 3V- лог. 1
больше 3V -лог. 0

Большое спасибо за совет, такой вариант действительно работает wink.gif
Правда при приёме (при передаче такого не наблюдается) на компьютере периодически (раз в пол минуты и длится секунд десять) в rs232pro видно как набегают помехи, что видимо связано с малым запасом помехоустойчивости (у меня "1" - ~0 В, "0" - +5 В). Можно ли это как-то побороть?


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение Mar 17 2006, 04:23
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(AVR @ Mar 16 2006, 23:02) *
в rs232pro видно как набегают помехи, что видимо связано с малым запасом помехоустойчивости (у меня "1" - ~0 В, "0" - +5 В). Можно ли это как-то побороть?

Pull-up на коллектор транзистора "сбоящего" канала поменьше поставьте ~500om-1kom..

Сообщение отредактировал defunct - Mar 17 2006, 04:24
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ILYCHOFF   USART на ATMega 16   Feb 3 2006, 13:32
- - kay   могу и ошибаться, но настроен ли дефолтный выход н...   Feb 3 2006, 14:25
- - ILYCHOFF   какой выход дефолтный???   Feb 3 2006, 14:35
- - ilya514   У меня та же самая проблема, только с Atmega8   Feb 3 2006, 14:40
- - ILYCHOFF   И как ее устранить я уже чего только не пробовал.....   Feb 3 2006, 14:44
- - Harvester   Возможные причины: 1. в терминалке на ПК установле...   Feb 3 2006, 15:01
- - defunct   по программной части вроде бы все верно. тут тольк...   Feb 3 2006, 18:15
- - ILYCHOFF   Пробовал отправлять константу, тот же самый резуль...   Feb 6 2006, 06:28
- - kay   макс232 инвертит инвертированную логику, чтобы её ...   Feb 6 2006, 06:36
- - ILYCHOFF   А что нужно делать в данном случае. я проверяю в п...   Feb 6 2006, 06:53
|- - BVU   Цитата(ILYCHOFF @ Feb 6 2006, 09:53) А чт...   Feb 6 2006, 07:16
- - ILYCHOFF   Я не могу понять что я делаю не так, объясните нег...   Feb 6 2006, 09:17
- - Sergio66   А что именно Вы видите на приемном конце? Есть ли ...   Feb 6 2006, 09:35
- - ILYCHOFF   Вот прога #include <mega16.h> // Standard ...   Feb 6 2006, 09:54
|- - ivan2006   2 ILYCHOFF Цитата(ILYCHOFF @ Feb 6 2006, 12...   Feb 6 2006, 13:15
|- - defunct   Цитата(ILYCHOFF @ Feb 6 2006, 11:54) UDR ...   Feb 6 2006, 22:56
- - BVU   Преобразователи типа: max232 ничего к передаваемой...   Feb 6 2006, 10:05
- - Sergio66   Так вроде бы никаких ошибок в настройках нет. А ка...   Feb 6 2006, 10:35
- - ILYCHOFF   у меня стоит кварц 4 МГц скорость 9600 ошибка сост...   Feb 6 2006, 13:41
|- - BVU   Цитата(ILYCHOFF @ Feb 6 2006, 16:41) у ме...   Feb 6 2006, 14:30
- - kay   попробуй открыть ком порт на разных скоростях, у т...   Feb 6 2006, 14:32
|- - BVU   Цитата(kay @ Feb 6 2006, 17:32) попробуй ...   Feb 6 2006, 14:52
|- - AVR   Где можно скачать программу RS 232 Pro? Существует...   Feb 6 2006, 22:09
- - ILYCHOFF   Разобрался. Всем большое спасибо, особенно defunct...   Feb 7 2006, 07:50
|- - AVR   Цитата(defunct @ Mar 17 2006, 07:23) Pull...   Mar 17 2006, 09:49
|- - defunct   Цитата(AVR @ Mar 17 2006, 11:49) У меня в...   Mar 17 2006, 10:42
- - alekseykoj   У тебя не согласована скорость между компьютером и...   Mar 17 2006, 08:46
- - Old1   2 AVR Если нет под рукой преобразователя уровней ...   Mar 17 2006, 21:13
|- - defunct   Цитата(Old1 @ Mar 17 2006, 23:13) то сове...   Mar 17 2006, 21:28
|- - Old1   Цитата(defunct @ Mar 18 2006, 01:28) Цита...   Mar 19 2006, 14:11
- - AVR   Глупый вопрос не по теме (прошу не судить строго н...   Mar 19 2006, 16:12
|- - Shurmas   Цитата(AVR @ Mar 19 2006, 20:12) Глупый в...   Jun 30 2006, 07:36
- - ILYCHOFF   В каталоге фирмы Промэлектроника www.promelec.ru   May 12 2006, 10:01
- - Alex3742   Я тоже пытался связаться по 232, правда МК у меня ...   Jun 30 2006, 05:48
|- - IEC   Цитата(Alex3742 @ Jun 30 2006, 08:48) Я т...   Jun 30 2006, 09:05
|- - Alex3742   Цитата(IEC @ Jun 30 2006, 15:05) Цитата(A...   Jun 30 2006, 10:48
|- - _Ie0nid   Добрый день. Кто может помочь? Пользуюсь терминало...   Sep 30 2008, 02:35
|- - smac   Цитата(_Ie0nid @ Sep 30 2008, 06:35) Добр...   Sep 30 2008, 07:33
|- - Палыч   Цитата(smac @ Sep 30 2008, 10:33) Может б...   Sep 30 2008, 07:59
- - Shurmas   Цитата(ILYCHOFF @ Feb 3 2006, 17:32) Проц...   Jun 30 2006, 07:12
- - ps1x   У меня с преобразователем adm203 заработало только...   Jun 30 2006, 07:22


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 08:04
Рейтинг@Mail.ru


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