18F2550 USB aygıtı tanınmadı

Başlatan LukeSkywalker, 20 Ağustos 2011, 19:21:38

LukeSkywalker

PIC18F2550 ile USB iletişimi yapan bir deneme boardu kurdum. Devre ISIS ile gayet güzel çalışıyor, led yakıp söndürebiliyorum. Fakat zannedersem donanımdan kaynaklanan bir sorun var ki, devreyi PC'ye bağladığımda USB aygıtı tanunmadı diye hata mesajı veriyor sebebi ne olabilir? Programı MikroC ile yazdım. VUSB pinine 470nF bulamadığım için 4 adet 100nf kondansatörü paralel bağladım. Devreyi test etmek için bir led koydum portc.7'ye blinking yapıyor.
kodlar aşağıda:
/*
 * Project name:
     HIDtest (Testing the USB HID connection)
 * Copyright:
     (c) MikroElektronika, 2005-2008
 * Revision History:
     20050502:
       - initial release;
 * Description:
     This example establishes connection with the HID terminal that is active
     on the PC. Upon connection establishment, the HID Device Name will appear
     in the respective window, and the software will start transmitting fixed
     message over the USB HID connection, for eternity.
 * Test configuration:
     MCU:             PIC18F4550
     Dev.Board:       EasyPIC4
     Oscillator:      HS 8.000 MHz  (USB osc. is raised with PLL to 48.000MHz)
     Ext. Modules:    USB-HID terminal board/None
     SW:              mikroC v8.0
 * NOTES:
     - Be VERY careful about the configuration flags for the 18F4550 - there's
       so much place for mistake!
*/


unsigned char k,get;
unsigned char gidecek[64];
unsigned char gelen[64];



//**************************************************************************************************
// Main Interrupt Routine
//**************************************************************************************************
void interrupt()
{
  HID_InterruptProc();

}
//**************************************************************************************************




//**************************************************************************************************
// Initialization Routine
//**************************************************************************************************
void Init_Main()
{

  ADCON0=0;
	ADCON1=0b00001111;                         // Configure all ports with analog function as digital
	//--------------------------------------
	// Ports Configuration
	//--------------------------------------
	TRISA = 0xFF;
	TRISB = 0xFF;
	TRISC.f6 = 0;
	trisc.f7=0;


	LATA = 0;
	LATB = 0;


	//--------------------------------------
	// Clear user RAM
	// Banks [00 .. 07] ( 8 x 256 = 2048 Bytes )
	//--------------------------------------


}
//**************************************************************************************************





//**************************************************************************************************
// Main Program Routine
//**************************************************************************************************

void main() {
 char i;

  Init_Main();

  HID_Enable(&gelen, &gidecek);
  Delay_ms(1000);
  Delay_ms(1000);
  while(1) {

            if (gelen[3]=='o')
            {
             gidecek[1]=portb;
             Hid_Write(&gidecek, 64);
            }
            if(gelen[3] == 'y') portc.f6=1;
            if(gelen[3] == 's') portc.f6=0;

            for(k=0;k<64;k++)
                              {
                               gelen[k]=0;
                              }
            portc.f7=~portc.f7;
            delay_ms(100);

           }

  Delay_ms(1000);
  HID_Disable();
}
//**************************************************************************************************


şimdiden teşekkürler..

LukeSkywalker

#1
Renkleri ters vermişler, bazı forumlarda..

gcakici

#2
Alıntı yapılan: maytere - 20 Ağustos 2011, 22:23:42
Sorunu çözdüm. USB data uçlarını ters bağlamışım.  Üye sayısı çok fazla olan  forumun birinde yanlış vermişler renkleri... yeşil +, beyaz - olacak

Hangi forumdu bu? Bu kadar bariz bir hata pek kabul edilebilecek gibi değil.Çok dikkatli olmak lazım,PIC i boşverin de PC ye bişey olmasın.

Gökhan BEKEN

Alıntı yapılan: maytere - 20 Ağustos 2011, 22:23:42
Sorunu çözdüm. USB data uçlarını ters bağlamışım.  Üye sayısı çok fazla olan  forumun birinde yanlış vermişler renkleri... yeşil +, beyaz - olacak
USB için soket kullanmanız çok daha yerinde olurdu hocam.
Özel mesaj okumuyorum, lütfen göndermeyin.

LukeSkywalker

Breadboardda çalışıyordum elimdeki soketler de bitmiş..