eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaIzolowany konwerter zrobić z RS232 na RS485Re: Izolowany konwerter zrobić z RS232 na RS485
  • Data: 2017-09-23 00:47:55
    Temat: Re: Izolowany konwerter zrobić z RS232 na RS485
    Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia Fri, 22 Sep 2017 22:10:25 -0000 (UTC), Pszemol napisał(a):
    > J.F. <j...@p...onet.pl> wrote:
    >> Nie o to chodzi.
    >> 8250 o ile pamietam mial 2 bajty bufora wyjsciowego.
    >> Wpisujesz bajt1 do wyslania, a on go zaczyna wysylac, ale ... od razu
    >> mowi ze nadajnik gotowy do wyslania kolejnego znaku i generuje
    >> stosowne przerwanie od nadajnika.
    >> Wpisujesz bajt2 - tym razem rejestr statusu mowi, ze nadajnik zajety.
    >> Jak skonczy wysylac bajt1, to zaczyna wysylac bajt2, ale od razu
    >> status mowi ze bufor nadajnika wolny i generuje przerwanie.
    >> Wpisujesz bajt3, sytuacja sie powtarza.
    >> UART konczy wysylac bajt2, zaczyna wysylac bajt3, zglasza przerwanie -
    >> a program stwierdza, ze nie ma nic wiecej do nadania, wiec konczy
    >> obsluge. A uklad ciagle wysyla kolejne bity.
    >> Wysylanie bajtu3 sie konczy, 8250 ustawia stosowny bit statusu, ze juz
    >> sie nadawanie zakonczylo ... ale przerwania juz nie zglasza.
    >>
    >> Czyli program wysylajacy jak juz stwierdzi ze nie ma nic do wyslania,
    >> to musi aktywnie sprawdzac kiedy to wysylanie sie zakonczylo, i kiedy
    >> moze wylaczyc RTS. Mamy np 100MHz procesor a przy 9600 musimy prawie
    >> 1ms czekac i sprawdzac czy juz mozna przestawic RTS, zamiast inna
    >> pozyteczna robote robic.
    >>
    >> 16550 to juz nie pamietam - problem rozwiazano, czy sie zaostrzyl,bo
    >> kolejka dluzsza.
    >>
    > Ja piszę o automatycznym machaniu RTSem przez uarta odpowiednio
    > ustawionego.
    > Jest to funkcja uarta dedykowana właśnie do zastosowania w
    > RS485.

    Ale 16550 chyba jeszcze tego nie ma.
    Wiec malo ktory program ma :-(

    > Oczywiście, że machanie tą linią programowo jest uciążliwe, ale i to jest
    > do zrobienia bo nowoczesne uarty mają dwa bity obsługujące nadajnik: ten co
    > Ty opisałeś nazywa się "transmitter holding register empty" THRE a jest
    > jeszcze "transmitter empty" TEMT.

    tylko TEMT przerwania nie zglasza.
    wiec musisz procesor zmarnowac na pilnowanie, albo jakies
    przerwanie/timer dobrac do predkosci :-P

    J.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: