- Labornetzteil AliExpress    Werbung      
Ergebnis 1 bis 9 von 9

Thema: DT Befehl

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    55
    Beiträge
    553
    Richtig. Natürlich muss die Tabellen-Routine noch mit call aufgerufen werden. Hier ein sinnfreies Beispiel zum beobachten im MPLAB Simulator. In der ersten Zeile kannst du ein Breakpoint setzen, mit F7 durchtakten und dabei die Statusanzeigen beobachten
    Code:
    main
        movlw d'5'
        ; in w steht jetzt 5
        call TABSTUNDEN
        ; in w steht jetzt 10
        goto    main
    
    TABSTUNDEN addwf PCL,f    
        retlw .24 
        retlw .2 
        retlw .4 
        retlw .6 
        retlw .8 
        retlw .10 
        retlw .12 
        retlw .14 
        retlw .16 
        retlw .18 
        retlw .20 
        retlw .22 
        retlw .24
    
        END

    Ergänzung 8.12.13, 14:52, nach Experten-Warnungen von RoboHolIC und PICture:
    Dieses Beispiel ist kein Implementierungsvorschlag. Das ist NUR ein aufs Wesentliche reduzierter didaktischer Dreizeiler, der dem TE die grundsätzliche Funktion der Wertetabelle veranschaulichen soll. Für eine robuste Implementierung in einer Anwendung sollte man zwingend die Hinweise zum möglichen Adressüberlauf beachten, dazu am besten die App Note AN556 und die Beispiele in RN-Wissen studieren.
    Geändert von witkatz (08.12.2013 um 13:52 Uhr) Grund: Ergänzung

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.09.2009
    Ort
    Berlin (Mariendorf)
    Beiträge
    1.025
    Hallo masterPIC.

    Das war auch mein erster Gedanke: Hol dir am Besten von der Microchip-Website die Application Note AN556. Anhand derer habe ich das "Computed Goto" recht gut verstanden. Vor allem wird dort ein allgemeingültiger Code vorgestellt, der auch den Übertrag im Adresszähler berücksichtigt. Eine solche Tabelle kann quasi an beliebiger Stelle im Programm(speicher) stehen.
    Anders das bisher hier vorgeschlagene: PCL ja 8 Bit breit, adressiert folglich nur Abschnitte von je 256 Programmadressen. Wenn die Tabelle z.B. im Befehlswort 253 einer Code Page beginnt, gehen alle Zugriffe ab dem Index 4 "in die Hose", wenn der ggf. anfallende Übertrag auf PCLATH unterbleibt. Man muss dann nicht nur die maximale Tabellenlänge sondern auch noch das Alignment genau beachten, damit kein Adressübertrag vorkommt.

    Ich steh auch nicht auf Copy 'n Paste, aber die Sache mit den Tabellen hab ich bei Microchip abgeschrieben, weil das so elementar ist und dort astrein implementiert wurde.

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Hallo!

    Nur als Bestätigung: https://www.roboternetz.de/community...eme-mit-PCLATH .

    Ich möchte mich sehr beim RoboHolIC bedanken und den Link: http://ww1.microchip.com/downloads/e...tes/00556e.pdf habe ich bereits in Wiki-Artikel eingefügt. Bild  
    Geändert von PICture (07.12.2013 um 10:27 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  4. #4
    Neuer Benutzer
    Registriert seit
    05.12.2013
    Beiträge
    4
    Vielen Dank für die Infos. Habe soweit dann auch erstmal das grobe kapiert. Ich werde heute abend dann mal die AN556 studieren... und wehe ich verstehe das nicht....

Ähnliche Themen

  1. if befehl verwenden!
    Von DanyD im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 28.02.2010, 19:16
  2. Suche Befehl!!
    Von Killer im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 03.04.2008, 07:05
  3. At Befehl
    Von Guidobald im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 03.08.2007, 16:12
  4. Overlay Befehl
    Von Zeroeightfifteen im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 31.03.2006, 18:45
  5. Befehl Clockdivision
    Von Rage_Empire im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 17.08.2005, 07:33

Berechtigungen

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

    Werbung      fchao-Sinus-Wechselrichter AliExpress