Kompilera AVR assambler under unix eller osx *MED LÖSNING*
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
Leuchpult är väl nån reläutgång om jag fattat rätt?
I vilken av leuchpult looparna fastnar du i?
I vilken av leuchpult looparna fastnar du i?
Kod: Markera allt
; ***** Leuchtpult *****
leuchtpult_loop: ; Menü Leuchtpult
// sbrc layer, Steuer_Port, leuchpult ; om cleared (0) bortse hopp till nästa loop
sbic Steuer_Port, leuchtpult
rjmp leuchtpult_loop_ ; annars gå till nästa loop
sbrs r_flag, dg_tast ; Taster gedrückt?
ret ; nein --> zurück
cbr r_flag, 1<<dg_tast ; Flagge Taster betätigt löschen
sbr r_flag, 1<<dg_stop ; Flagge Drehgeber Eingabe stoppen
sbi Steuer_Port, leuchtpult ; Relais Leuchtpult ein 1
rcall lcd_zeile2 ; LCD 2. zeile
ldi ZL, LOW(t_ein*2) ; Text laden
ldi ZH, HIGH(t_ein*2)
rcall lcd_string
rcall summer_klick
ret ;tillbaka till menyn
leuchtpult_loop_:
sbrs r_flag, dg_tast ; Taster gedrückt?
rjmp leuchtpult_loop_ ; nein --> Schleife
cbr r_flag, 1<<dg_tast ; Flagge Taster betätigt löschen
cbr r_flag, 1<<dg_stop ; Flagge Drehgeber Eingabe stoppen löschen
cbi Steuer_Port, leuchtpult ; Relais für Leuchtpult aus 0
rcall lcd_zeile2 ; LCD 2. Zeile
ldi ZL, LOW(t_aus*2) ; Text laden
ldi ZH, HIGH(t_aus*2)
rcall lcd_string
rcall summer_klick
ret ; zurück
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Precis det är en reläutgång.
Jag tror det är i slutet av den första jag fastnar. För jag kommer in i menyn så står följande på LCD:n:
Layers (t_leuchtpult:)
One (t_aus:)
(Utgången låg)
Jag trycker på knappen och LCD:n visar:
Layers (t_leuchtpult:)
Two (t_ein:)
(Utgången hög)
Här vill jag kunna gå ur menyn och komma tillbaka till samma ställe.
Men det enda jag kan göra är att trycka på knappen så att LCD:n visar:
Layers
One
(Utgången låg)
Och sedan gå vidare. Det går alltså inte att sätta utgången hög och gå ur menyn.
Trodde att jag löste det med mit "ret" i slutet av första loopen.
Jag tror det är i slutet av den första jag fastnar. För jag kommer in i menyn så står följande på LCD:n:
Layers (t_leuchtpult:)
One (t_aus:)
(Utgången låg)
Jag trycker på knappen och LCD:n visar:
Layers (t_leuchtpult:)
Two (t_ein:)
(Utgången hög)
Här vill jag kunna gå ur menyn och komma tillbaka till samma ställe.
Men det enda jag kan göra är att trycka på knappen så att LCD:n visar:
Layers
One
(Utgången låg)
Och sedan gå vidare. Det går alltså inte att sätta utgången hög och gå ur menyn.
Trodde att jag löste det med mit "ret" i slutet av första loopen.
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Det senaste nu är att jag försöker installera AVRA men jag får inte det att compilera någonting. Jag har även läst att den inte skall klara avr-studio asm. Fanns ett annat programm men det fungerar inte heller. Att det ska vara så svårt. Verkar som man inte kan lära sig assambler först utan får gå direkt på C kod.
Efter 2 öl och en grymt god hemgrillad kyckling så går letandet vidare.
Efter 2 öl och en grymt god hemgrillad kyckling så går letandet vidare.
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
- jonnorberg
- Inlägg: 851
- Blev medlem: 19 mars 2008, 17:45:40
- Ort: Årsta
Sådärja. Nu har jag löst det hela. Avra klarar atmel assambler gjord i AVR-Studio. Jag fick dock använda atmel assambler def.inc filer av första versionen inte assambler2. Avr-as klarar inte atmel assambler och tavrasm fick jag inte att installera. Det skall klara atmel-assambler men är väldigt gammalt.
Efter en 40 inlägg lång tråd hos avr-freaks så kom vi på hur vi skulle lösa det.
Så nu ska jag försöka lösa den där loopen med lite trial and error.
Efter en 40 inlägg lång tråd hos avr-freaks så kom vi på hur vi skulle lösa det.
Så nu ska jag försöka lösa den där loopen med lite trial and error.