PIC18F14K50 mit C18.

Zeitkritische PIN-Abfrage. Muss natürlich auf richtiger PCL-Adresse stehen, deshalb die NOP's:


Code:
  _asm 
    NOP
    NOP
    Btfss pinTMR13mess   //Warten bis Mess-PIN = 1.
    Bcf PCL, 1, 0         //<- FEHLER hier !!! PCL - 2: Nur 1 Taktzyklus.
  _endasm
Fehler: Error [1253] constant operand expected.

Warum?

So geht es auch nicht:

Code:
  _asm 
    NOP
    NOP
    Btfss pinTMR13mess   //Warten bis Mess-PIN = 1.
    Bcf 0xFF9, 1, 0      //<- FEHLER hier !!! PCL - 2: Nur 1 Taktzyklus.
  _endasm

Ja, Sorry, habs rausgefunden, so ist es richtig:

Code:
  _asm 
    NOP
    NOP
    Btfss PORTC, 6, 0 //Warten bis Mess-PIN = 1.
    Bcf PCL, 1, 0 //PCL - 2: Nur 1 Taktzyklus.
  _endasm
Bin mir gerade nicht sicher, ob das so überhaupt geht, da das 3 Words sind. Notfalls mache ich es so:

Code:
    _asm 
      MovLW PCL-Adresse
      Btfss PORTC, 6, 0          //Warten bis Mess-PIN-TMR13 = 1.
      MovWF PCL, 0               //$-1
    _endasm