Sprung???

Gast #35302
Sind das eigenständige Programme oder Teilprogramme eines 
Hauptprogramms. Was für eine Programmiersparache verwendest du?  Kannst 
du evtl die 3.Programme zu einem ganzen zusammenfassen. In Assembler 
z.B. mit "include".
Gast #35303
Ich verwende AVRStudio 4.0 die Assemblersprache. Also man nimmt z.b. 
dieses programm 3 mal hintereinender der einzig unterschied besteht 
darin das bei jedem der 3 Prog's doe I/0 Pins ander angeordnet werden. 
also wie bekomme ich einen Sprung vom 1. dann zum 2. und dann zum 3. 
Programm her???
Kannst du mir da weiterhelfen ??

.include "4433def.inc"

         ldi r16, 0xFF
         out DDRC, r16

         ldi r16, 0b11111100
         out PORTC, r16

ende:    rjmp ende
#35304
Mit Sprüngen macht man das besser nicht, sondern mit Calls.

Dann ist man in der Anordnung flexibler.

Das ganze nennt sich dann Main-Loop (Hauptschleife) und wird bei 99,9% 
aller MC-Programme so gemacht.


main:
rcall programm1
rcall programm2
rcall programm3
;usw.
rjmp main ;und wieder von vorne


Peter
Gast #35308
z.B.

rjmp main:  (steht am Anfang des programms)

Programm1:
(Dein Code)
ret

Programm2:
(code)
ret

Programm3:
(Code)
ret

main:
rcall programm1
rcall programm2
rcall programm3
rjmp main

(ab hier wird immer main angesprungen, endlosschleife)
Gast #35309
Hallo es Funktioniert aber kann mir jemand sagen wie das funktionieren 
könnte: Also zu erst kommt Prog.1 dann 3 sekunden pause dann kommt 
Prog.2 dann 5 sekunden Pause und dann kommt prog.3 und dann wieder 3 
sekunden pause und dann fängt es wieder von vorne an.
Kann Mir bitte jemand einen AVRStudio 4.0 Tüchtigen Assemblercode 
schreiben mit dem ich das mchen könnte??

und noch was könnte mir jemand einen assemblercode schreiben mit dem man 
led's am PortD hin und her leuchten lassen kann wie bei NightRider??
Aber nur wenn es nicgt zu viel Umstände macht!!!

Danke schon im Voraus

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.