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

 
 
> 2-ве Mega8 по UART, CV, Proteus и отсутствие осциллографа
B3v
сообщение Aug 5 2008, 23:08
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 20-01-08
Пользователь №: 34 252



Подскажите начинающему. Столкнулся с такой историей.
Инструментарий у меня: CodeVision, Proteus, программатор UNIPROF.
Осциллографа пока к сожалению нету, поэтому пользуюсь программным через звуковую.

В итоге мне нужно связать PC с Mega8 по RS485.
С налету ес-но не получилось.

Начал с того, что связал два MK по UART как на рис 1.

Прикрепленное изображение

рис.1 Паралельно с железом моделировал в Протеусе.

Для МК-1:
...............
...............
//char simvol;

while (1)
{
//Отправляем два символа в МК2
putchar('a');

delay_ms(10);

putchar('b');

//Ожидаем пока не придет 'c' от МК2
while (1)
{ //туповато, но думаю для экс-та пойдет
simvol=getchar();

if(simvol=='c')break;
}

// Для индикации прохода циклов просто поджигаем диод.
PORTC.5=1;

delay_ms(150);

//И тушим его
PORTC.5=0;

};
...............
...............

Для МК-2:
...............
...............
while (1)
{
//Ждем от МК1 'а'
while (1)
{
simvol=getchar();
if(simvol=='a')break;
}

//Ждем от МК1 'b'
while (1)
{
simvol=getchar();
if(simvol=='b')break;
}

//Поджигаем диод
PORTC.5=1;

delay_ms(15);

//Тушим
PORTC.5=0;

//Отправляем 'c' в МК1
putchar('c');

};
...............
...............

После включения все нормально: диоды перемигивают как и положено.

А на осцилограммах наблюдаю следующее:

Прикрепленное изображение

рис. 2. TxD МК1.

Прикрепленное изображение

рис. 3. TxD МК2

Т.е. через звуковую я вижу формы сигналов TTL.

А как же эпюры из Datasheet:
Прикрепленное изображение

рис. 4 Явно форма типа RS-232

Или в Протеусе. Форма тоже типа RS-232:

Прикрепленное изображение

рис. 5. hex-ы из текстов куски которых я показал выше.

Проясните пожалуйста, где правда. И почему через звуковую я вижу то что на рисунках 2 и 3.
Чудес ведь не бывает. Или я уже 01.gif .
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bgc
сообщение Aug 6 2008, 17:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 30-07-06
Из: Москва
Пользователь №: 19 188



На картинке все правильно. По уровням так и должно быть на нормальном UART-е и и на RS-232/

Теперь я ничего не понимаю. В приведенном коде программы тоже разные байты. Сначала 'a', потом 'b', а в ответ 'c'.
Или я что-то просмотрел.
Если этот код загрузить в процессор, то почему на осциллографе идут одинаковые байты?
Либо код другой, либо смотрим непонятно что.

Психологически такая проблема решается следующим образом:
1. Сделать перерыв! (чай, душ, прогуляться...)
2. Перезагрузить проект. Перетранслировать код (пересобрать все). Проверить что именно за код в проекте на данный момент.
3. Если есть сомнения в осциллографе - откалибровать: заземлить, подключить на +5 и убедиться что все Ок.
4. Загрузить код в отладчик, проверить.
5. Загрузить код в проц. Проверить.
6. Обдумать спокойно то, что будет видно.
Если это не помогло, изложить еще раз проблему для благодарного слушателя. Лучше голосом живом человеку, чтобы он понял, и задал вопросы "свежево дурака"
Первый пункт - важен.
Обычно, все проблемы отступают.


--------------------
Окружающий мир - не иссякающий источник сюрпризов!
Go to the top of the page
 
+Quote Post
B3v
сообщение Aug 6 2008, 18:37
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 20-01-08
Пользователь №: 34 252



Цитата
На картинке все правильно. По уровням так и должно быть на нормальном UART-е и и на RS-232/.
Вот - это то, от чего я теперь могу оттолкнуться на данном этапе. Огромное спасибо. Казалось бы мелочь, и даже глупость. А все мои ошибки в моделировании и в реальной схеме, на этом скорее всего и базировались.
Цитата
Теперь я ничего не понимаю. В приведенном коде программы тоже разные байты. Сначала 'a', потом 'b', а в ответ 'c'.
Или я что-то просмотрел.
Если этот код загрузить в процессор, то почему на осциллографе идут одинаковые байты?
Либо код другой, либо смотрим непонятно что.
Тут Вы уж меня простите, было несколько, не существенно отличающихся вариантов тестирования мне доступной, так сказать, технологии измерений.
Вот и получилось, что в моих вопросах символы в коде не соответствуют показанному на рисунках. Было 2-ва варианта:
- посылаем два символа 'a', ждем ответ символ 'c', если получаем его, то уходим в начало цикла...
- посылаем символ 'a' затем 'b', ждем ответ символ 'c', если получаем его, то уходим в начало цикла...
Не принимайте близко к сердцу. Это я нахомутал с изложением в вопросах. Спешил набирать материал, а опыта маловато, вот оно так и получилось.
Цитата
Психологически такая проблема решается следующим образом:
1. Сделать перерыв! (чай, душ, прогуляться...)
2. Перезагрузить проект. Перетранслировать код (пересобрать все). Проверить что именно за код в проекте на данный момент.
3. Если есть сомнения в осциллографе - откалибровать: заземлить, подключить на +5 и убедиться что все Ок.
4. Загрузить код в отладчик, проверить.
5. Загрузить код в проц. Проверить.
6. Обдумать спокойно то, что будет видно.
Если это не помогло, изложить еще раз проблему для благодарного слушателя. Лучше голосом живом человеку, чтобы он понял, и задал вопросы "свежево дурака"
Первый пункт - важен.
Обычно, все проблемы отступают.

Очень даже дельные советы. Так и сделаю. Стряхну нежелательные эгрегоры, пересмотрю проект...
И если Вы не против продолжим беседу. Вопросы уже есть, но надо погодить.
Еще раз большое Спасибо. С уважением. Сергей.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- B3v   2-ве Mega8 по UART, CV, Proteus и отсутствие осциллографа   Aug 5 2008, 23:08
- - bgc   одна проблема в схеме есть: светодиод без токоогра...   Aug 6 2008, 02:51
|- - B3v   Да, есть грех. Протеус схавал, а в железе там стоя...   Aug 6 2008, 07:57
- - MrYuran   Чё-то я не понял в чём проблема. Ну, инвертирует в...   Aug 6 2008, 08:14
|- - B3v   Цитата(MrYuran @ Aug 6 2008, 13:14) Чё-то...   Aug 6 2008, 09:40
|- - MrYuran   Ещё раз: UART (TTL): Start->"0" (0B...   Aug 6 2008, 09:53
|- - B3v   Цитата(MrYuran @ Aug 6 2008, 14:53) Ещё...   Aug 6 2008, 10:19
- - GDI   Цитата(B3v @ Aug 6 2008, 13:40) Может это...   Aug 6 2008, 09:58
|- - B3v   Цитата(GDI @ Aug 6 2008, 14:58) А в чем п...   Aug 6 2008, 14:45
- - GDI   Исправленная картинка вам поможет лишь в том случа...   Aug 6 2008, 11:30
- - MrYuran   Вообще не раз уже слышал об этой проблеме (инверси...   Aug 6 2008, 11:34
- - defunct   А не в том ли проблема, что автор пытается UART по...   Aug 6 2008, 11:49
- - GDI   ЦитатаА не в том ли проблема, что автор пытается U...   Aug 6 2008, 12:11
- - GDI   1. Все нормально на ваших рисунках, на выходе RS23...   Aug 6 2008, 14:57
- - bgc   Интересно, но никто не обратил внимания, что автор...   Aug 6 2008, 15:22
- - B3v   На сколько я понял благодаря GDI и bgc и другие ко...   Aug 6 2008, 16:19


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:44
Рейтинг@Mail.ru


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