Czy warto zapisywać flagi SREG w przerwaniach AVR dla stabilności UART?
Re: AVR UART - problem
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Wed, 1 May 2002 05:20:47 +0200
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aan4b2$o86$1_at_nospam_news.tpi.pl...
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
czy w przerwaniu zapamietujesz na chwile SREG?
=>Nie a po co?
Bo w SREG siedza glowne flagi, dzieki ktorym, dziala polowa rozkazow
procesora AVR. Jezeli nie zapiszesz w przerwaniu SREG, jako pierwszego
rozkazu w IRQ i akurat przerwanie chwyta tozkaz zalezny od SREG to po
powrocie program glupieje i czasem wyglada, ze nie dziala cos innego niz
jest w rzeczywistosci. W C51 sie zapisywalo PSW.
in r0,SREG
out SREG,r0 (lub inny dowolny rejestr)
reti
------------
Sprawa druga. Sprawdz czy po dowolnym rozkazie skip - sbir, sbic, sbrc, sbrs
nie uzywasz rozkazow jmp, call, sts lub lds.
Innego powodu nie widze. Zawsze tak samo pooluje uart jak mam malo znakow
wyslac i zawsze to dziala.
Juliusz.
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Wed, 1 May 2002 18:09:47 +0200
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aanmpv$d0a$1_at_nospam_news.tpi.pl...
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aan4b2$o86$1_at_nospam_news.tpi.pl...
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
czy w przerwaniu zapamietujesz na chwile SREG?
=>Nie a po co?
Bo w SREG siedza glowne flagi, dzieki ktorym, dziala polowa rozkazow
procesora AVR. Jezeli nie zapiszesz w przerwaniu SREG, jako pierwszego
rozkazu w IRQ i akurat przerwanie chwyta tozkaz zalezny od SREG to po
powrocie program glupieje i czasem wyglada, ze nie dziala cos innego niz
jest w rzeczywistosci. W C51 sie zapisywalo PSW.
=>O to mu chodzilo. Zaczalem zapamietywac i dziala OK. Dzieki Tobie i innym
za pomoc.
Pozdrawiam,
Jacek.
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Wed, 1 May 2002 22:37:43 +0200
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aap46i$app$1_at_nospam_news.tpi.pl...
=>O to mu chodzilo. Zaczalem zapamietywac i dziala OK. Dzieki Tobie i
innym
za pomoc.
Prosze bardzo. :-)
A w ogole to jakiego asma uzywasz ? Ja tylko avrstudio, bo IAR mnie
doprowadza do szalu. IAR wcina sie w elementy kodu, ktore nie powinny go
interesowac. Usilowalem go kiedys uzywac ale lepiej mi sie pracuje w
avrstudio.
Juliusz
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: AVR UART - problem
Date: Wed, 1 May 2002 23:52:25 +0200
Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aapji7$3au$1_at_nospam_news.tpi.pl...
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:aap46i$app$1_at_nospam_news.tpi.pl...
A w ogole to jakiego asma uzywasz ? Ja tylko avrstudio, bo IAR mnie
doprowadza do szalu. IAR wcina sie w elementy kodu, ktore nie powinny go
interesowac. Usilowalem go kiedys uzywac ale lepiej mi sie pracuje w
avrstudio.
=>Ja jestem konserwatywny. Uzywam atmelowskiego assemblera ale tego starego
dosowego + norton edit (czy cos takiego) + dosowy programator ISP. AVR
Studio uzywam tylko jako symulatora i to tylko wtedy jak juz sobie nie moge
w ogole poradzic. Niestety, w tym wypadku kod dzialal na AVR Studio a nie
dzialal w praktyce. :(
Pozdrawiam,
Jacek
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: AVR UART - problem
Date: Sat, 04 May 2002 00:24:42 +0200
Juliusz wrote:
A w ogole to jakiego asma uzywasz ? Ja tylko avrstudio, bo IAR mnie
doprowadza do szalu. IAR wcina sie w elementy kodu, ktore nie powinny go
interesowac. Usilowalem go kiedys uzywac ale lepiej mi sie pracuje w
avrstudio.
Z "klasycznych" asemblerów dla AVRa polecam tavrasm. Kopia avrasm ale ze
ródłami (licencja GNU), gotowa dla dosa, win32 i linuxa. No i umie
makra w makrach, czego bardzo mi brakowało w atmelowym avrasm'ie.
--
Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: AVR UART - problem
Date: Sat, 4 May 2002 06:18:45 +0200
"Adam Dybkowski" <adybkows_at_nospam_amwaw.edu.pl> wrote in message
news:3CD30E2A.6020507_at_nospam_amwaw.edu.pl...
Z "klasycznych" asemblerów dla AVRa polecam tavrasm. Kopia avrasm ale ze
ródłami (licencja GNU), gotowa dla dosa, win32 i linuxa. No i umie
makra w makrach, czego bardzo mi brakowało w atmelowym avrasm'ie.
Chyba nie mam zdrowia sie przesiadac na nic innego :-) Za wiele napisalem w
avrstudio zeby teraz go zmieniac. Ja go lubie, bo nie zmusza mnie do
deklarowania roznych rzeczy, psu na bude potrzebnych.
A moze znasz assembler na x86 z linkerem co produkuje hex'a od razu ? Ale
taki co mi nie bedzie kazal deklarowac segmentow i co jest public, a co nie.
Nawet nie wiesz jak mnie to denerwuje :-)
Juliusz
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: AVR UART - problem
Date: Sat, 4 May 2002 10:08:55 +0200
A moze znasz assembler na x86 z linkerem co produkuje hex'a od razu ? Ale
taki co mi nie bedzie kazal deklarowac segmentow i co jest public, a co nie.
Nawet nie wiesz jak mnie to denerwuje :-)
Segmenty to 'smaczek' x86.
Ale przyjrzyj sie gnu-as (czyli temu zwyklemu z linuxa),
skladnia troche podobna do riscow (np: %eax itp).
A na jakiejs stronce od embedded rtos widzialem linuxowy
linker, co robil hexy.
A deklaracje co jest public, a co nie, to mi juz nieraz tylek
uratowaly (przy programach majacych 80K pliku .bin). Inaczej sobie tego
nie wyobrazam - no bo jak - wszystko public? To sie w koncu skoncza pomysly
na nazwy zmiennych tymczasowych i adresow jakichs skokow warunkowych ;))
jerry