Hallo zusammen, ihr habt mir immer geholfen und danke für ihr Hilfe. ich habe ein weiteres Problem. ich arbeite mit PIC18F4550 in MPLAB mit compiler C. ich moechte funktion(AND()) realisiert. ich könnte direkt in main Programm realisiert aber das will ich nicht, denn ich habe viele anderen Programm. bei mir liegt die Datei 18F4550.lkr wie konnte ich das benutzen. mit interrupt war schon mal ok, aber mit eine andere Funktion klapp nicht. ich habe sowas probiert #include <p18F4550.h> #include "weiter.h" #pragma SPS_FKT_PIN_gpr0=0x61 void interrupt_at_SPS_FKT_PIN_gpr0(void) { _asm GOTO SPS_PORT_FKT_gpr0 _endasm } #pragma code /* return to default code section */ #pragma interruptlow SPS_PORT_FKT_gpr0 void SPS_PORT_FKT_gpr0(void) { if(INTCONbits.TMR0IF) { SPS_FKT_AND(); } } #include "Test.h" #include <p18F4550.h> unsigned char SPS_FKT_AND() // { if ((PORTAbitsRA1==1)&&(PORTAbits.RA2==1)) { PORTAbits.RA3 =1; } } CODEPAGE NAME=vectors START=0x0 END=0x29 PROTECTED CODEPAGE NAME=page START=0x2A END=0x7FFF CODEPAGE NAME=idlocs START=0x200000 END=0x200007 PROTECTED und das ist das Fehler: undefined label SPS_PORT_FKT_gpr0 in interruptlow SPS_PORT_FKT_gpr0 Grüß
glaube wenn du _asm benutzt, dann musst du es auch da wo er hinspringen soll auch benutzen _asm goto labelXY_endasm . . . . _asm labelXY _endasm
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.