Hallo Zusammen, ich bin neueinsteiger in der PIC programmierung und habe hhier ein SET von Microchip! Der Programmer ist ein ICD 2! Wenn ich diesen mit dem PC connecte kommt der Fehler: ICDWarn0020: Invalid target device id (expected=0x2B, read=0x1FF) Und wenn ich dann irgendeine Aktion ausführen will kommt dieser Fehler: *ICDWarn0052: MPLAB ICD 2 cannot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation* Ich habe alles Verbunden und hab schon ein bisschen rumprobiert weiß aber leider nicht weiter :( Könnt ihr mir helfen? Danke und Gruß Mathew
Device? 3,3V / 5V? Selbstversorger oder durch ICD2 versorgt? Richtiges Layout? Beschaltung von MCLR, PCG und PGD?
> Device? 3,3V / 5V? Also ich habe die Platine (PICDEM 2 PLUS DEMOBOARD) und den ICD2 mit Spannung versogt! Jeweils 9V wie es auch draufsteht! > Selbstversorger oder durch ICD2 versorgt? Habe ich als Selbstversorger angegeben! > Richtiges Layout? Beschaltung von MCLR, PCG und PGD? MCLR? PCG? PGD? Sorry keien ahnung was das sein soll
hab mich nunmal an die Beschaltung von Ausgängen gewagt :) Leider funktioniert meine Schleife nicht! Wenn ich diese im Simulator laufen lassen wiederholt sich diese immer wieder wobei diese bei einem bestimmten Wert eigentlich den nächsten Befehl überspringen sollte :( > list p=16f84a > radix hex > >STATUS equ 0x03 >PORTB equ 0x06 >TRISB equ 0x86 >HAM equ 0x0c >HAM2 equ 0x0d > >RPO equ 0x05 > > org 0x00 ;die Startadresse nach Reset ist 0, > hierstartet der PIC > goto main ;Sprung zum Hauptprogramm > org 0x04 ;Interruptvector ist 0x04, > ;bei Interrupt springt der PIC hierher > > >;************************************************** >main > clrf PORTB ; Ausgangssignale für PortB zurückgesetzt > bsf STATUS,RPO ; auf Registerbank 1 umschalten > bcf TRISB,3 ; Bit 3 von PortB als Ausgang umprogrammiert > bcf TRISB,2 ; Bit 2 von PortB als Ausgang umprogrammiert > bcf TRISB,1 ; Bit 1 von PortB als Ausgang umprogrammiert > bcf TRISB,0 ; Bit 0 von PortB als Ausgang > umprogrammiert > bcf STATUS,RPO ; auf Registerbank 0 umschalten > bsf PORTB,3 ; Bit 3 von PortB setzen > bsf PORTB,2 ; Bit 2 von PortB setzen > bsf PORTB,1 ; Bit 1 von PortB setzen > bsf PORTB,0 ; Bit 0 von PortB lsetzen clrf HAM loop incf HAM,1 ; Inkrementier um 1 btfss HAM,7 ; Vergleiche ob Register den Wert 7 hat goto loop ; Springe zu Loop clrf HAM2 ; Lösche Inhalt von Register HAM2 loop2 incf HAM2,1 ; Inkrementier um 1 btfss HAM2,7 ; Vergleiche ob Register den Wert 7 hat goto loop2 ; Springe zu Loop2 > > bcf PORTB,3 ; Bit 3 von PortB zurücksetzen > bcf PORTB,2 ; Bit 2 von PortB zurücksetzen > bcf PORTB,1 ; Bit 1 von PortB zurücksetzen > bcf PORTB,0 ; Bit 0 von PortB zurücksetzen > > goto main > end Es geht um die Stelle ohne > :) Wisst ihr woran es liegt? Danke!
Hallo,
nur mal so nebenbei zum Kommentar in der Zeile:
>> btfss HAM,7 ; Vergleiche ob Register den Wert 7 hat <<
Das ist nicht der Wert 7, sondern der Wert 128 (Bit 7)!!
Ansonsten müsste die Schleife funktionieren.
und tue Dir selbst noch einen Gefallen und schreibe einfach noch ein
'retfie' nach 'org 0x04' rein und danach erst die main!
Gruß
TK
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.