hi Leute, das geht hier direkt an die Pic- Spezialisten. Also, ich programmier schon ne Weile mit Pic´s und nun bin ich dabei einen i2c-Bus auf einem PIC16f73. Da hab ich in die Application Note "AN734" reingeschaut und auf den Quelltext gelunst. Da ist auf der Seite 8 z.B. folgene Sequenz: LFSR macro Address,Offset ; This macro loads the correct value movlw Address ; into the FSR given an initial data movwf FSR ; memory address and offset value. movf Offset,W addwf FSR,F endm Ich verstehe leider nicht, was diese Zeilen bedeuten, wie ich diese programmiere (Inhaltlich, Syntax,...) und wie ich die Zeilen dann auch anwende !!!!! Fals mir jemand helfen kann, z.B. mit Links (nicht Google!!!) oder mir das so life erklären kann, dem wäre ich sehr dankbar.... andreas
Hallo Andreas, das Macro dient einfach dazu, einen berechneten Wert (möglichst einfach) ins FSR zu schreiben. Aufgerufen wird es z.B. so LFSR 0x80, Tmp wobei 80h die Basisadresse z.B. einer Tabelle ist und Tmp ein Zeiger auf den Eintrag in der Tabelle, auf den man zugreifen möchte (angenommen in Tmp steht 5). Der Macro-Expander macht dann daraus: movlw 0x80 movwf FSR movf Tmp,W addwf FSR,F Im FSR steht also hinterher 85h, d.h. es wird auf den 6. Eintrag zugegriffen. Wofür das FSR ist, solltest Du allerdings wissen (indirekte Adressierung). Was aus einem Macro gemacht wird, wenn es aufgerufen wird, kannst Du nach dem Assemblieren im LST-File sehen (sofern Du die Option nicht deaktiviert hast). Weitere (wenige) Infos zu Macros findest Du im "Assembler User's Guide". Ein Makro dient am Ende aber immer nur dazu, Tipparbeit zu sparen, bzw. das Programm lesbarer zu machen. MfG Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.