AVR - jak skopiowac bit

Loading thread data ...
Reply to
invalid unparseable
Reply to
invalid unparseable
Reply to
invalid unparseable
Reply to
invalid unparseable

Dnia Sat, 25 Mar 2006 11:03:09 +0100, SJ napisał(a):

Czemu z przerwaniami?

lds r0, zmienna; Załaduj do r0 z RAM bst r0, 5 ; Załaduj bit do T brtc tclear ; Jeśli T==0 -> skocz sbi IO, 5 ; ustaw bit w IO sbis IO, 5 ; ustawilim, więc opuszczamy nast. instrukcję tclear: cbi IO, 5 ; kasujemy bit cośtamcośtam...

Marcin Stanisz

Reply to
Marcin Stanisz

Dnia Sat, 25 Mar 2006 11:48:34 +0100, SJ napisał(a):

Dobrą zasadą jest zachowywanie na stosie rejestrów używanych przez procedury przerwań. Równie dobrze przykład z '51 może zmienić wartość A między pierwszym i drugim rozkazem (o ile A nie było automatycznie odkładane na stos, nie pamiętam...).

Pozdrawiam Marcin Stanisz

Reply to
Marcin Stanisz

Dnia Sat, 25 Mar 2006 11:59:50 +0100, SJ napisał(a):

Wiesz, to jest urok RISCa... Za to każda z tych instrukcji wykona się w OIDP 1 lub 2 cyklach zegara :)

Pozdrawiam Marcin Stanisz

Reply to
Marcin Stanisz

Dnia Sat, 25 Mar 2006 12:05:50 +0100, SJ napisał(a):

No nie ma, że boli :) Chciało się mieć więcej rejestrów ogólnowojskowych, to trzeba cierpieć ;)

Żebym dobrze zrozumiał - dopuszczasz zmianę tego samego bitu przez dwa różne źródła (przerwanie i program główny)?! No, to rzeczywiście musisz blokować przerwania... Poza tym IO nie odkładasz po wejściu w przerwanie, tylko r0.

Pozdrawiam Marcin Stanisz

Reply to
Marcin Stanisz
Reply to
invalid unparseable
Reply to
invalid unparseable

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.