-         
Ergebnis 1 bis 4 von 4

Thema: Zeiger zu einer Tabelle an ein Unterprogramm mitgeben

  1. #1

    Zeiger zu einer Tabelle an ein Unterprogramm mitgeben

    Anzeige

    Hallo Leute, bin neu hier. Habe zwar versucht unter den Beiträgen eine Lösung zu meinem Problem zu finden. Leider erfolglos.

    ein Problem ist:
    1. Ich habe mehrere Tabellen genannt MeineTabelle1, MeineTabelle2, ...
    2. Ich habe ein Unterprogramm genannt TextAusgeben.

    Ich möchte nun, dass ich vor dem Aufruf von TextAusgeben die Tabelle Auswähle und damit das Unterprogramm gezielt die gewählte Tabelle ausgibt

    Hoffe ihr habt mir eine Idee!!

    Gruss
    Ben

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.996
    Hallo ben-nemsi!

    In allgemeinem musst du immer vor dem Sprung in eine Tabelle den PCLATH mit entsprechender RAM Seite laden, wo sich der Anfang der Tabelle befindet. Bei sich ständig ändernden Tabellen kannst du natürlich den PCLATH schon im Hauptprogramm laden, aber immer vorm Aufrufen des Unterprogramms (UP), da jedes UP spring in die Tabelle die im PCLATH festgelegt ist.

    Hoffentlich findest du nötige Ideen im http://www.rn-wissen.de/index.php/PI...mbler#Tabellen , sonst melde dich, bitte, erneut mit konkreten Problemen.

    MfG

  3. #3
    Hallo und Danke für deine schnelle Antwort.

    Die von dir empfohlene Site kante ich schon und ich glaube, dass es mir keine Hilfe bei meinem Problem ist. (oder ich verstehe das mit PCLATH nicht richtig)

    Nochmal mein Problem Konkretisiert:

    Ich habe also folgenden Aufbau
    -------------------------------------------
    - include meineUPs
    ; hier in meineUPs ist ein UP "TextAus" mit der ein Text an
    ; einem PORT ausgegeben wird

    - Init Ports
    ; meinHauptprogramm
    - ...
    - Wähle Text1
    - CALL TextAus
    - ...
    - Wähle Text2
    - CALL TextAus
    - ...
    -Text1
    ADDWF PCL,F
    RETLW 'X'
    RETLW 0

    -Text2
    ADDWF PCL,F
    RETLW 'Y'
    RETLW 0

    ------------------------------------
    Wie kann ich TextAus dazu bringen den jeweiligen text auszugeben

    Danke im Voraus
    Ben

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.996
    Hallo ben-nemsi!

    Danke für deinen Beitrag, der mir den Aufbau deines Programms ganz klar macht.

    Es wäre möglich, dass das UP "TextAus" sich den Wert PCLATH aus einem Puffer holt und danach zur gewünschter Tabelle springt. Ungefähr so:

    Hp
    ......
    movlw 0xXX
    movwf Puffer
    call TextAus
    ......
    usw.

    Das UP muss sich dann vor der Ausgabe den Wert aus dem Puffer holen und erst dann ausgeben:

    TextAus
    ......
    movf Puffer,0
    movwf PCLATH
    ......
    return

    Eventuell könntest du dir als Beispiel mein Programm in https://www.roboternetz.de/phpBB2/viewtopic.php?t=47685 anschauen, wo ich 6 Ziffer nacheinander mit mehreren Tabellen ausgebe. Das ist aber schon ziemlich alt und ich kann mir nicht genau erinnern, wie ich es dort gelöst habe.

    Viel Spass und Erfolg dabei!

    MfG

Berechtigungen

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