www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sprung???


Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich will 3 verschieden Programme gleichzeitig verwenden wie kann 
ich das machen das wenn das 1. Programm fertig ist der MC einfach einen 
Sprung zum 2. Programm macht usw. z.b. so: Prog.1 (Sprung) Prog.2 
(Sprung) Prog.3???

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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".

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es funktioniert nicht kannst du mir bitte ein Beispiel schreiben ??

Autor: Frankl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ret (Returns) in den programm 1..3 nicht vergessen. Am Schluss des 
Programms.

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin noch anfänger Bitte schrib mir ein Beispiel mit dem Programm das 
ich dir gezeigt hatte !!!!

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.