Подскажите начинающему. Столкнулся с такой историей.
Инструментарий у меня: 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.
Чудес ведь не бывает. Или я уже

.