PIC18F4550 Usb HID Lcd & Led Uygulaması (CCS C)

Microchip USB Bootloader'ı kullanabilirsin. Microchip USB kütüphanesinde örnekler de var.
 
yalnız hocam direk usb ile usb kablosu olucak dönüştürücü falan olmucak kabloda..öyle oluyor deil mi:)
 
PC tarafinda ne yapiyoruz, ben bunu bilemedim.
kodu islemciye yukleyip devreyi usb kablo ile pcye baglayinca
is bitiyor mu?

tesekkurler
 
ayrica DSN dosyalar hangi versiyonla cizildi?
 
arkadaşlar bütün interneti aradım ama artık istediğimi bulamadığım için pes ettim yalvarırım yardım edin.
kullandığım pic dili: ccs c
kullandığım pc dili: c#
bu iki dili kullanarak usb ile pic 18f4550 ile bilgisayar arasında veri aktarımı yapmak istiyorum işin ccs c kısmı zaten var program örnek kodlar veriyo ama işin c# yönünü bir türlü yapamadım yada bulamadım bulsam bile bağlayamadım.
lütfen bu konuda yardım eder misiniz.
 
Benim tezimdede zaten pici ilk programlarken programlayıcıyla yazılımı atıcam(1 defaya mahsus) sonrasında ise,pici devreden çıkarmadan picin içindeki yazılımı istediğim zaman değiştirebilmek.Tabi bunuda yaparken usb veri iletişimini kullanıcaz.örnek bu projede olduğu gibi..
Bu projenin denendiğini söyledi arkadaş ama işte benim sıkıntım ise pici yeniden programlamak..

senin bahsettiğin devre ......'da vardı ama ben bulamadım biraz araştırırsan bulacağına eminim fakat........ta olan yanılmıyorsam usb li değil di ama yinde de denemeye değer ;) kolay gelsin
 
Moderatör tarafında düzenlendi:
merhaba usbhid ile ilgili easyhid konulu bırseyler anlatabılecek bırılerı yokmu?
ben rf olarak sadece 255 sayısına kadar gonderebılıyorum dırek 18f4550 ıle yada 2550 ıle rf olarak 16 bir yazı harf sayı gıbı verılerı gonderıp karsı tarafta bır rf alıcı vasıtası ıle işlemek ıstıyorum yardımcı olurmusunuz role acıp kapanmaktan usandım artık...
 
ben kötü olmuş demedim ellerinize sağlık sadece detaylı bir easyhid anlatan kaynak bulamadım onun sitemini yaptım sadece
 
Tmcone hocam, öncelikle eline sağlık. Bitirme projemin haberleşme kısmını USB ile yapacağım. USB'yi anlamak ve basit bir giriş yapmak için ledlerle bir uygulama yaptım.

Kırmızı Led yanarken, USB kablosu takılı değil
Sarı Led yanarken, USB kablosu takılı fakat bilgisayar tanımıyor(!enumerated)
Yeşil Led ise USB takılı ve cihaz bilgisayar tarafından tanındı.

Proteusta yazdığım kod çalışıyor ancak devreyi kurduğum zaman bir türlü çalıştıramadım. VUSB bacağına 470nF bağladım, 20Mhz osilatör ve 15pf kapasitör kullandım. Ancak nedense kabloyu bilgisayara taktığımda, bilgisayardan hiçbir tepki gelmedi. Sebebi ne olabilir?

Yazdığım kod:
Kod:
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN
#use delay (clock=48000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#DEFINE USB_HID_DEVICE  true

#define USB_EP1_TX_ENABLE  USB_ENABLE_INTERRUPT   //turn on EP1 for IN bulk/interrupt transfers
#define USB_EP1_TX_SIZE    8  //allocate 8 bytes in the hardware for transmission

//the following defines needed for the CCS USB PIC driver to enable the RX endpoint 1
// and allocate buffer space on the peripheral
#define USB_EP1_RX_ENABLE  USB_ENABLE_INTERRUPT   //turn on EP1 for OUT bulk/interrupt transfers
#define USB_EP1_RX_SIZE    8  //allocate 8 bytes in the hardware for reception

#include <pic18_usb.h>
#include <USB.H>
#include <usb_desc_hid.h>
#include <usb.c>
#define USB_CON_SENSE_PIN PIN_B2
#define usb_attached() input(USB_CON_SENSE_PIN)


#use fast_io(d)
int8 x;


void main()
{

   setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
//Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

   // TODO: USER CODE!!
   set_tris_d(0x00);
   output_d(0x00);
   usb_init();
   x=0;
     
   while(1)
   {
    
     usb_task();  
    
      if(usb_attached() && usb_enumerated())
     {
        output_d(0x01); 
        
     }
            
     else if(usb_attached() && !usb_enumerated())
     {
        output_d(0x04);
        
     }
     else if(!usb_attached())
     {
        output_d(0x02);   
     
     }  
         
   
   }
   
   
   
   

}


Yardımcı olursanız sevinirim.:)
 

Forum istatistikleri

Konular
130,068
Mesajlar
932,744
Kullanıcılar
453,061
Son üye
Ali.02

Yeni konular

Geri
Üst