Usiłuję skomunikować AT89S52 z kompem przez RS232. Walczę z tym już 3 miechy i mam dość. Wypróbowałem już chyba wszystkie sztuczki. Ale po kolei:
- kwarc 22.118.400 - z dwoma kondensatorami 22pF. Stabilny, działa, programik migający diodą co sekundę śmiga aż miło.
- kanał transmisyjny - wyjąłem procka, zwarłem w podstawce linie RxD i TxD, odpalam na kompie terminal i śmiga jak trzeba, terminal odbiera to co wysłał. Wychodziłoby że MAX232 działa jak trzeba.
- to samo co przed chwilą ale z drugiej strony. Wgrywam w procka program który wysyła bajt, odbiera go i sprawdza czy dostał to samo (sygnalizacja diodkami). Wyciągam z kompa wtyczke, zwieram linie RxD i TxD i zonk - nie działa. Zwieram te same linie na płytce, tuż za MAXem patrząc od strony procka - dalej nic. Wyciągam MAXa, zwieram linie w podstawce od strony procka i ... działa.
Jakieś pomysły co z tym zrobić ?? MAX232 działa jak trzeba, napięcia po obu stronach MAXa są zawsze poprawne, kondensatory wokół MAXa polutowane są jak trzeba, użyłem tantali 1uF, aż za dobrych. Procek wydaje się w pełni sprawny, programuje się jak trzeba i wszystkie programy działają poprawnie, UART w procku też niby działa bo w końcu po zwarciu linii bez MAXa dane odebrał. Wszelkie próby dogadania się przy różnych prędkościach transmisji (wielokrotnie przeliczanych) kończą się zawsze tym samym - komp odbiera jeden bajt w momencie włączenia zasilania na płytce a potem cisza. Wymieniałem też procka, procek kolegi zachowuje się tak samo.
- kwarc 22.118.400 - z dwoma kondensatorami 22pF. Stabilny, działa, programik migający diodą co sekundę śmiga aż miło.
- kanał transmisyjny - wyjąłem procka, zwarłem w podstawce linie RxD i TxD, odpalam na kompie terminal i śmiga jak trzeba, terminal odbiera to co wysłał. Wychodziłoby że MAX232 działa jak trzeba.
- to samo co przed chwilą ale z drugiej strony. Wgrywam w procka program który wysyła bajt, odbiera go i sprawdza czy dostał to samo (sygnalizacja diodkami). Wyciągam z kompa wtyczke, zwieram linie RxD i TxD i zonk - nie działa. Zwieram te same linie na płytce, tuż za MAXem patrząc od strony procka - dalej nic. Wyciągam MAXa, zwieram linie w podstawce od strony procka i ... działa.
Jakieś pomysły co z tym zrobić ?? MAX232 działa jak trzeba, napięcia po obu stronach MAXa są zawsze poprawne, kondensatory wokół MAXa polutowane są jak trzeba, użyłem tantali 1uF, aż za dobrych. Procek wydaje się w pełni sprawny, programuje się jak trzeba i wszystkie programy działają poprawnie, UART w procku też niby działa bo w końcu po zwarciu linii bez MAXa dane odebrał. Wszelkie próby dogadania się przy różnych prędkościach transmisji (wielokrotnie przeliczanych) kończą się zawsze tym samym - komp odbiera jeden bajt w momencie włączenia zasilania na płytce a potem cisza. Wymieniałem też procka, procek kolegi zachowuje się tak samo.