Привет всем!
Имеется простенькое устройство на megа162. Используются оба ее USART-ы через преобразователь уровней MAX232CPE с кондерами 1мкф, вобщем все как обычно.
Для упрощения, устройство подключено к PC по обоим RS232.
Проблема: в работе 0го усарта наблюдаются странные глюки - влияние канала передачи на канал приема. Если "навстречу" передаваемому от меги к PC байту идет какой-то байт, то на приемной стороне (PC) происходит искажение данных.
Упрощаем программу - мега постоянно шлет какой-то байт, например, 0xAA. Смотрим, на PC этот байт отлично и устойчиво принимается. Шлем навстречу байт 0xFF. Тоже всё хорошо. Шлем на встречу байт 0x00. А от меги приходит вместо 0xAA, например, 0xAF. Т.е. нулевые биты по приемному каналу меги искажают передаваемые биты, причем устанавливают их в 1, с не-100%й вероятностью.
Мегу менял (глупо конечно на зеркало пенять,но мало ли). MAX232 поменять пока руки не дошли, да и опять же врядли в ней дело.
Пробовал отключить receiver в меге, помехи остаются. Т.е. проблема "вне" меги - шнур PC-устройство, MAX232, дорожки до меги.
с 1м каналом USART проблем не наблюдается, несмотря на то что он на плате разведен куда как хуже (дорожки раза в три длиннее и от MAX232 до меги и от MAX232 до разъема).
Идеи?