- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: Kommunikationsproblem

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.11.2006
    Ort
    NRW
    Alter
    39
    Beiträge
    54

    Kommunikationsproblem

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen,

    ich habe ein kleines Problem. Ich bin noch blutiger Anfänger in Assembler und habe vor eine Kommunikation zwischen Contollern auf zu bauen, und zwar in etwa so.

    PC beginnt dem Controller das erste Byte zusenden, dort ist enthalten was er machen soll, und ob evtl noch weitere Bytes kommen, auf die gewartet werden muss. Also schickt der PC dem Contoller einen Befehl.

    Da ich mit einem Byte 255 verschiedene Befehle erstellen könnte habe ich mir nun gedacht im Programm die verschiedenen Befehle zuprogrammieren, und die Sprungadressen im EEPROM oder besser im SRAM abzulegen, so das ich wenn ich den Befehl bekomme zu der Adresse im SRAM springe mit die beiden Bytes auslese welche die Adresse im Flash darstellen und diese dann ins X Register laden und dann mit
    Code:
     jmp X
    zum entsprechenden Programmablauf zu gelangen.

    Jetzt meine Fragen:
    1. Würde das so funktionieren, oder gibt es eine bessere Lösung?
    2. Wie komme ich nach meinem Sprung wieder zurück?

    Danke für eure Mühe
    Nemesis

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Mit CALL und RET wird der Stack verwendet, um wieder zurückspringen zu können.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.11.2006
    Ort
    NRW
    Alter
    39
    Beiträge
    54
    Hey, es funktioniert.
    =D>

    Gibt es eine möglichkeit dem Assembler zu sagen er soll die Sprungadresse automatisch anzuzeigen? Mit dem Präprozessor oder so? Ich habe nähmlich jetzt beim Debuggen die Sprungadresse in den SRAM gelegt, welche ich aus dem Dissassembler abgelesen habe. Wenn ich das nach fertigstellung des Programms für viele Befehle machen müsste würde ich verrückt werden.

    Danke schon mal

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    Du setzt dir ne Sprungmarken am Ziel, und sagst dann CALL sprungmarke

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen