Kompilera AVR assambler under unix eller osx *MED LÖSNING*

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Jag förstår nog inte heller till 100%. Steuer_port är ju PortB och leuchtpult = 1. De verkar alltså inte sitta i nåt register utan är direkta utgångar? Det enda jag behöver veta är ju hur pinnen är satt för att veta vilken loop jag ska hoppa till när jag kommer tillbaka till menyn.
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Det borde ju vara sbic som skall användas:
sbic Steuer_Port, leuchtpult

Nu funkar texten som den skall. Dock så fastnar jag i menyn i leuchtpult loopen. Det krävs kanske pigga hjärnor för att klå den kodbiten?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Leuchpult är väl nån reläutgång om jag fattat rätt?

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
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

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.
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Det enda jag kan komma på nu är vart "ret" i slutet av första loopen igentligen tar en. Då den inte verkar ta en tillbaka till att bläddra i menyn. Nån som har nån idé? Är det för lite information, bör jag berätta mer om hur hårdvaran beter sig?
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

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.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Verkar som man inte kan lära sig assambler först utan får gå direkt på C kod.

Det ska du inte behöva. Nu är jag inte så himla insatt i just AVR men visst kan man köra assembler direkt.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Verkar som man inte kan lära sig assambler först utan får gå direkt på C kod.

Det är tvärtom.
Kunskap i assembler gör det normalt enklare att skriva bra C-kod.
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

Hehe jo det var så jag menade. Då jag inte har programvara att lära mej assambler först utan har bara C kompiler.
Fast nu är jag en lösning på spåren. Återkommer med den någon dag.
Användarvisningsbild
jonnorberg
Inlägg: 851
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Inlägg av jonnorberg »

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.
Skriv svar