Hallo, ich bin neu hier im Forum und hoffe auf ein bisschen hilfe. Ich habe folgendes Problem: Habe einen PIC18F2550 und will den über USB programmieren. Den Bootloader übernahm ich von Sprut, habe diesen auf einen ext 20Mhz Quarz angepasst. Das programmieren funktioniert somit einwandfrei! ABER... ...Ich will den PIC vollkommen von der Vusb entkoppeln, d.h. ich will "EINFACH" eine Ext spg. (5V) anlegen und den PIC dann ohne Vusb beschreiben. Doch sobald ich die Vusb von meiner allgemeinen V+ nehm erkennt Windows nur noch ein defektes Device!? Jetzt hab ich schon alles mögliche gelesen und versucht, aber ich komme nicht weiter. Habe folgenden Zeilen wieder ins C_Projekt eingebunden: #define USE_SELF_POWER_SENSE_IO #define USE_USB_BUS_SENSE_IO vorher: //#define USE_SELF_POWER_SENSE_IO //#define USE_USB_BUS_SENSE_IO Dann an Pin 3 ( RA1 ) die Vusb über nen Widerstand angelegt!? Das steht eigentlich so alles im oben genannten C Quellcode drin...? Hat irgendjemand noch ne idee?
@Hawk Entscheide dich einfach mal. Entweder Bus- oder Selfpowered. #define USE_SELF_POWER_SENSE_IO //#define USE_USB_BUS_SENSE_IO
OK. Da hast du wohl recht... Habe PICs immer in asm progr deswegen schau ich nicht so ganz genau bei fertigen C++ Bootloader Projekten hin. Aber er erkennt dass Device immer noch als defekt. Sprut hat mir gemailt dass ich RA1 über 5k auf Vusb legen soll. Das stimmt nehm ich mal an..?
Wenn Sprut dir das sagt dann wird das wohl auch stimmen. Kann ich aber nicht beurteilen weil ich nicht weiss wie SEIN Bootloader Code aussieht. Ich habe den Bootloader von Microchip so compiliert und erfolgreich benutzt: //#define USE_SELF_POWER_SENSE_IO //#define USE_USB_BUS_SENSE_IO
Ja ich hab doch geschrieben dass er so wie du in hast auch bei mir einwandfrei funktioniert. Doch hast du es mal mit ner rein ext. spg. versucht, also nicht USB_BUS_POWERED ? Ich brauch es für ne Schaltung im Automotive Bereich. D.h. Zündschlüssel an ==> Laptop ran ==> Software update ==> END Da kann ich keine Spg. vom USB Port brauchen.
Versteh dich nicht!? Mit Vusb ist die 5V Leitung vom USB_Port gemeint. Damit dass Device weiss wann es mit dem Host verbunden wird.
Hat denn noch keiner nen USB_Bootloader mit ext. Spg. für die Schaltung gebaut? Also die 5V vom USB Port nicht IN der Schaltung verwendet?
@Hawk >Versteh dich nicht!? >Mit Vusb ist die 5V Leitung vom USB_Port gemeint. >Damit dass Device weiss wann es mit dem Host verbunden wird. Vergiss meinen letzten Beitrag. Du hast mich überholt ;) Vusb ist per Defintion der Ausgang des 3,3V Reglers vom PIC. Was du meinst ist VBUS, die Spannung vom PC. Ich habe PIC's noch nicht Selfpowered benutzt wie du es gerne tun möchtest. Also nochmal von vorne: #define USE_SELF_POWER_SENSE_IO Benutzt einen IO Pin um zu checken ob externe Spannungsversorgung vorhanden ist. #define USE_USB_BUS_SENSE_IO Benutzt einen IO Pin um zu checken ob Spannung vom PC da ist. Wenn der Bootloader von Sprut checkt ob Spannung vom PC da ist, du die Spannung vom PC aber abknippst dann klappt es natürlich nicht. Ab dieser Stelle wäre ein Auszug aus deinem Schaltplan hilfreich ! Du kannst das ganze aber auch so programmieren das weder der USE_SELF_POWER_SENSE_IO Pin noch der USE_USB_BUS_SENSE_IO Pin benutzt werden. Gruss Holger
Dass habe ich auch schon probiert, aber er will immer vom Vbus die Spg.!? Das gibt es doch nicht, dem kann doch sch... egal sein wo er die 5V her bekommt!? Nur eins ist Fakt: Die Hardware bzw PC muss erkennen wann PC angeschlossen wird. Naja werde heut nachmittag mal den Schaltplan und den Bootloader Posten vielleicht weiss ja dann jemand bescheid. Danke trotzdem.
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.