=?iso-8859-2?Q?'51:_SETB_PS=2C_nie_dzia=B3a?=



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: =?iso-8859-2?Q?'51:_SETB_PS=2C_nie_dzia=B3a?=
Date: Wed, 27 Nov 2002 23:43:08 +0100


Witam,

Jakiś czas temu pytałem, jak ustawić wyższy priorytet dla transmisji
szeregowej. Obecnie program jest prosty: wysłanie ciągu jednakowych bajtów
szeregowo. Oprócz tego działa timer0. Stan jest taki: timery chodzą, są
zezwolenia na przerwania ES, ET0. Obsługa przerwania szer. to samo reti.
Przed transmisją zeruje EA (zezwolenie ogólne int), potem ustawiam. Program
działa, jednak jeśli na początku programu wykonam SETB PS, zawiesza się na
instrukcji MOV SBUF (timer0 i program główny przestaje działać). Co jest
tego przyczyną?

dzięki

Piotr


Poprzedni Następny
Wiadomość
Spis treści
From: "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl>
Subject: =?iso-8859-2?Q?Re:_SETB_PS=2C_nie_dzia=B3a?=
Date: Wed, 27 Nov 2002 23:59:03 +0100


Użytkownik "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID> napisał w
wiadomości news:as3hp2$4jg$1_at_nospam_topaz.icpnet.pl...
Witam,


szeregowo. Oprócz tego działa timer0. Stan jest taki: timery chodzą,

zezwolenia na przerwania ES, ET0. Obsługa przerwania szer. to samo
reti.
Przed transmisją zeruje EA (zezwolenie ogólne int), potem ustawiam.
Program
działa, jednak jeśli na początku programu wykonam SETB PS, zawiesza
się na
instrukcji MOV SBUF (timer0 i program główny przestaje działać). Co
jest
tego przyczyną?


Strasznie utrudniasz sobie życie, ale skoro taką masz ochotę :-))

Po kiego grzyba zerujesz EA przed transmisją (jest ultraszybka
programowa, czy co)??
Jeśli nie, to strasznie marnujesz czas w oczekiwaniu na flagę wysłania
bajtu. Ale to mniej ważne.

Skąd masz pewność, że wiesza się akurat wtedy?
Tak czy owak trudno coś wyrokować na sucho. Jeśli ten program jest tak
mały, jak piszesz, to podeślij kod, wtedy zobaczymy co się dzieje.

Najczęściej jednak takie objawy są wynikiem niezainicjowania stosu i
nadpisania go przez jakąś zmienną, lub np nie zdjęcie ze stosu
położonych danych np push acc, push psw, a brak pop acc i/lub pop psw,
co skutkuje "pójściem w maliny" i zawieszeniem kontrolera.


Pozdrawiam
Bartosz Sarama


Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: =?iso-8859-2?Q?Re:_SETB_PS=2C_nie_dzia=B3a?=
Date: Thu, 28 Nov 2002 00:34:10 +0100



Użytkownik "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl> napisał w
wiadomości news:as3int$trq$1_at_nospam_absinth.dialog.net.pl...
Strasznie utrudniasz sobie życie, ale skoro tak? masz ochotę :-))


OK. Utrudniam - nie utrudniam, ale działać powinno.

A problem jest inny. Nic się nie zawiesza formalnie, tylko że po wysłaniu
czegokolwiek generuje mi sie z prawdopodobnie pełną szybkością (115200)
przerwanie szeregowe. Non-stop. Na linii we. nie ma żadnych śmieci, jest
odłączona. Już za cholere nie wiem co to może być.

pozdrawiam


Poprzedni Następny
Wiadomość
Spis treści
From: "edek" <k_at_nospam_ii.pl>
Subject: Re: SETB PS, nie działa
Date: Thu, 28 Nov 2002 01:24:34 +0100



Użytkownik "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID> napisał w wiadomości
news:as3koo$756$1_at_nospam_topaz.icpnet.pl...

Użytkownik "Bartosz Sarama" <quasimod_at_nospam_poczta.usun.onet.pl> napisał w
wiadomości news:as3int$trq$1_at_nospam_absinth.dialog.net.pl...
Strasznie utrudniasz sobie życie, ale skoro tak? masz ochotę :-))


OK. Utrudniam - nie utrudniam, ale działać powinno.

A problem jest inny. Nic się nie zawiesza formalnie, tylko że po wysłaniu
czegokolwiek generuje mi sie z prawdopodobnie pełną szybkością (115200)
przerwanie szeregowe. Non-stop. Na linii we. nie ma żadnych śmieci, jest
odłączona. Już za cholere nie wiem co to może być.

pozdrawiam


Hehehe, widze ze dzialasz tak samo jak ja:
najpierw program, nie dziala - to na grupe,
a w ostatecznosci (ale to z wielka niechecia)
stosujesz ktores tam prawo Murfiego:
"jak juz nic nie chce dzialac i nikt nie wie dlaczego

Jak juz bedziesz czytal to uzyj tajemniczych
zaklec "serial interrupt" i "TI flag"
Czary-mary i abrakadabra tez moze sie przydac :))

Jak dojdziesz do wlasciwych wnioskow do daj znac na grupe

edek




Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID>
Subject: =?iso-8859-2?Q?Re:_SETB_PS=2C_nie_dzia=B3a?=
Date: Thu, 28 Nov 2002 08:43:26 +0100


Użytkownik "edek" <k_at_nospam_ii.pl> napisał w wiadomości
news:as3n6g$moi$1_at_nospam_news.onet.pl...
Hehehe, widze ze dzialasz tak samo jak ja:
najpierw program, nie dziala - to na grupe,
a w ostatecznosci (ale to z wielka niechecia)
stosujesz ktores tam prawo Murfiego:
"jak juz nic nie chce dzialac i nikt nie wie dlaczego
- przeczytaj dokumentacje"

Tak. No ale wiecie jak to jest - urządzenie gotowe i chciałoby sie żeby
zaczeło działać jak najszybciej. Ale systematyczność bedzie faktycznie
lepsza.

Tym niemniej, jeszcze Was chyba troche pomęcze przez najbliższy miesiąc,
póki co - dziękuje!

Piotr


Poprzedni Następny
Wiadomość
Spis treści
From: "korinsj" <korinsj_at_nospam_poczta.onet.pl>
Subject: Re: SETB PS, nie działa
Date: Thu, 28 Nov 2002 08:40:56 +0100



Użytkownik "Piotr C." <Piotr_at_nospam_MaBanana.com.INVALID> napisał w wiadomości
news:as3hp2$4jg$1_at_nospam_topaz.icpnet.pl...
Witam,

Jakiś czas temu pytałem, jak ustawić wyższy priorytet dla transmisji
szeregowej. Obecnie program jest prosty: wysłanie ciągu jednakowych bajtów
szeregowo. Oprócz tego działa timer0. Stan jest taki: timery chodzą, są
zezwolenia na przerwania ES, ET0. Obsługa przerwania szer. to samo reti.
Przed transmisją zeruje EA (zezwolenie ogólne int), potem ustawiam.
Program
działa, jednak jeśli na początku programu wykonam SETB PS, zawiesza się na
instrukcji MOV SBUF (timer0 i program główny przestaje działać). Co jest
tego przyczyną?

dzięki

Piotr


W przerwaniu transmisji wyzeruj flagi nadawania (TI) i odbioru (RI) jesli
zostaly ustawione. TI (od wyslania) musi byc zerowana programowo bo po
wyslaniu pierwszego bajtu procek bedzie Ci wkolko wchodzil do przerwania.

Slawek