Ik ben aan het proberen communicatie op gang te krijgen tussen mijn PIC18f4550 en mijn Windows 8.1 machine.
Hier mijn breadboard met aantekeningen:
Het programmeren van de PIC gaat perfect. Normale progjes zoals een blink led progje werken perfect. vusb op de pic geeft rond de 2,5 / 2,9 V aan.
Error die in Apparaatbeheer verschijnt:
Project code:
c code:
unsigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet
unsigned char writebuff[64] absolute 0x540;
char count;
void interrupt(){
USB_Interrupt_Proc(); // USB servicing is done inside the interrupt
}
void main(void){
ADCON1 |= 0x0F; // Configure all ports with analog function as digital
CMCON |= 7; // Disable comparators
HID_Enable(&readbuff,&writebuff); // Enable HID communication
while(1){
while(!HID_Read());
for(count=0;count<64;count++)
writebuff[count]=readbuff[count] + 1;
while(!HID_Write(&writebuff,64))
;
}
}
De descriptor die is toegevoegd is gegenereerd door MikroC:
http://pastebin.com/zqANnhZN
De configuratie settings in MikroC:
USBlyzer geeft een lege descriptor aan:
Wat ik geprobeerd heb:
- 100nF caps voor de pic i.p.v. 10
- 470nF cap voor vusb
- 8Mhz kristal i.p.v. 20 (met juiste config uiteraard)
- Alle connecties doorgemeten op het breadboard, allemaal in orde
- Usb kabel doorgemeten, perfect in orde (Kabel is wel ongeveer 1,5 meter lang!)
Het enige dat ik niet kan proberen is een andere PIC (niet op voorraad).
Is er iemand die mij kan helpen? Voor zover ik kan zien is alles in orde. Is mijn PIC misschien faulty? Op vusb hoort toch 3.3V te staan?
Alvast hartelijk bedankt.
[Bericht gewijzigd door Waijur op zaterdag 20 september 2014 02:26:02 (11%)