[8051] transmisja synchroniczna
Pawel \O'Pajak\ - 03-02-2007 17:45
[8051] transmisja synchroniczna Powitanko,
MOV SCON,#&H0
MOV SBUF,#&H41
!bb:
JNB TI,bb'
Powinno wyslac synchronicznie 41 w hexie. Ale procek milczy jak
zaklety:-( Zastawione pulapki wskazuja jakby nie wystawial flagi Ti. Cos
robie nie tak? Kompilator to Bascom (moze tu jest problem?).
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
******* >>> !!! UWAGA: ODPOWIADAM TYLKO NA MAILE ->:
> pavel(ten_smieszny_znaczek)klub.chip.pl <<<<*******
MKi - 04-02-2007 18:45
>
> MOV SCON,#&H0
> MOV SBUF,#&H41
> !bb:
> JNB TI,bb'
>
> Powinno wyslac synchronicznie 41 w hexie.
Powinno. W każdym razie mi się tak swojego czasu udawało.
Tylko ja do tego miałem jeszcze obsługę przerwań.
> Ale procek milczy jak
> zaklety:-(
Milczy, czyli stale "1" czy stale "0"?
Czy wpisane uprzednio 1 do portów TxD, RxD?
Czy może otoczenie procka wymusza stabilny stan
linii portu szeregowego?
Jeśli jest aktywne przerwanie od portu szeregowego,
to po ustawieniu TI następuje wywołanie przerwania.
Jak w obsłudze przerwania nie wyzerujesz TI, to po
wyjściu z przerwania program od razu wskoczy do
niego z powrotem! Tak więc program nie wisi w
pętli programu głównego, tylko w nieustannym
wywoływaniu przerwania.
> Zastawione pulapki wskazuja jakby nie wystawial flagi Ti. Cos
> robie nie tak? Kompilator to Bascom (moze tu jest problem?).
Jak zaczynałem zabawy z portem szeregowym w '51, to
pchałem w port na okrągło jakąś stałą, a wynik
obserwowałem na oscyloskopie. Procek był niczym
nieobciążony. Działało.
Pozdrowienia,
MKi
Pawel \O'Pajak\ - 05-02-2007 17:45
Powitanko,
> Milczy, czyli stale "1" czy stale "0"?
>
> Czy wpisane uprzednio 1 do portów TxD, RxD?
Nie ma przerwan, na wszelki wypadek wylaczylem wpisujac 00 do IE (ale i
tak po resecie defaultowo sa wylaczone). Caly port 3 tez jest na "1".
Doszedlem do tego, ze wysylyny jest 1 bajt i procek zamiera na petli
sprawdzaajcej stan Ti (program sklada sie z kilku wyslan roznych bajtow
i to wszystko).
Pozdroofka,
Pawel Chorzempa
--
"-Tato, po czym poznać małą szkodliwość społeczną?
-Po wielkiej szkodzie prywatnej" (kopyrajt: S. Mrożek)
******* >>> !!! UWAGA: ODPOWIADAM TYLKO NA MAILE ->:
> pavel(ten_smieszny_znaczek)klub.chip.pl <<<<*******
MKi - 05-02-2007 19:45
> Nie ma przerwan, na wszelki wypadek wylaczylem wpisujac 00 do IE (ale i
> tak po resecie defaultowo sa wylaczone). Caly port 3 tez jest na "1".
> Doszedlem do tego, ze wysylyny jest 1 bajt i procek zamiera na petli
> sprawdzaajcej stan Ti (program sklada sie z kilku wyslan roznych bajtow
> i to wszystko).
Ja bym mimo wszystko włączył w ten test przerwania. Więcej można się
dowiedzieć (choćby sam fakt wywołania przerwania). Ja przynajmniej
zawsze, z założenia, używam przerwań przy współpracy z czymkolwiek
zewnętrznym (Tak mnie nauczyli, urządzenia zewnętrzne zawsze z
przerwaniami. Ale to było 20 parę lat temu i dotyczyło egzotycznej
raczej dziś maszyny MERA 300.)
Pozdrowienia,
MKi
zanotowane.pldoc.pisz.plpdf.pisz.plkonstruktor.keep.pl