Yuran>>Действительно есть не совместимость между уровнями UART МК и RS-232.Serge77>Но откуда она взялась? Для чего это сделано?[»]
Сделано для защиты от помех при больших длинах линии. По RS-232 можно передавать на расстояние до нескольких сотен метров. При этом стандарт RS-232 таков:
-уровень логической единицы (MARK) в диапазоне от -3 до -12 В;
-уровень логического нуля (SPACE) в диапазоне от +3 до +12 В;
- нормальным состоянием линии является единичное ;
-уровни между -3 и +3 В являются неопределёнными.
Сравните для TTL:
-уровень единицы от + 2,4 до 5 В
-уровень нуля от 0 до + 0,8 В
Получается, что если передавать даже в инвнрсном виде , то при +5В ещё куда-то попадаем, а при 0 В - оказываемся в зоне защиты от шумов и наводок, иначе говоря в неопределённом состоянии.