Elektronik / Mikrodenetleyici Projeleri/

PIC18F4550 İle USB Haberleşme Kullanımı

Sponsorlu Bağlantılar

Bu uygulamada 18f4550 mikrodenetleyicisi ile USB Bootloader ve PC üzerinden USB haberleşme sistemi kullanılarak mikrodenetleyici portlarının kontrolu uygulamalarını gerçekleşireceğiz. Öncelikle 18f4550 mikrodenetleyicisini kullanmamızın sebebi hem dahili USB haberleşme donanımı barındırıyor olması hemde ilerki çalışmalarımızda kullanmak üzere birçok G/Ç portuna sahip olmasıdır.  Devre üzerinde 1 adet 2×16 LCD, 7 adet LED ,G/Ç olarak kullanılmak üzere klemenslere çıkarılmış 14 pin ve RS232 iletişimi için gerekli donanım vardır.

Baskı devre şeması Proteus Ares programı kullanılarak çizilmiştir. Ancak baskı devre dosyasını paylaşmıyorum son zamanlarda internette paylaşımlarımın suistimal edilerek pek çok sitede alıntı yapıldığı belirtilmeksizin paylaşıldığına şahit oldum. Elbette bu sitede paylaştığım devrelerin başkaları tarafından kullanılması benimde hoşuma gider ancak insanlar sizin emeğinizi kendi yapmışcasına sağda solda dağıtıyorsa haklı olarak tepki göstermek zorundasınızdır. Bende tepkimi bu şekilde ortaya koyuyorum bundan sonraki paylaşımlarımda baskı devre şemasını resim dosyası olarak koyacağım bu devreleri ben yaptım diyenler en azından baskı devresini çizsinler. Bazen bizde alıntı yapıyoruz ve bunu belirtmek utanç duymuyoruz.

Bu devrede de PC programını bir başka arkadaşımızın(adını hatırlamıyorum internetten bir zamanlar hazırladığı programı indirmişim ancak programın içerisinde herhangi bir isme denk gelmedim) paylaşımdan faydalanarak oluşturdum.(Port değişiklikleri vs yaparak…)

pic18f4550-usb-hid-lcd-led pic18f4550-usb-hid-lcd-led-2

pic18f4550-usb-hid-lcd-led-4 pic18f4550-usb-hid-lcd-led-3

Projeye ait baskı ve devre şeması;)

pic18f4550-usb-isis-devre-semasi pic18f4550-usb-haberleşme-pcb-ares pic18f4550-usb-haberleşme-pcb-ares-ust

Devremize Bootloader programı yükleyerek tek USB kablosu üzerinden programlama ve haberleşme yapmak için ilk önce BOOTLOADER klasöründe Microchip firması tarafından yayınlanan [USB Device – HID – HID Bootloader – C18 – PIC18F4450] dosyasını herhangi bir programlayıcı kullanarak 18F4550’ye atıyoruz. Bu işlemi yaptıktan sonra 18F4550’yi kartımıza takıyoruz.

Herhangi bir programı (Örneğin; UYGULAMALAR klasöründeki programlar) PIC’e aktarmak için RESET ve BOOT butonlarına aynı anda basıyoruz daha sonra önce RESET’ten sonra BOOT tuşundan parmağımızı kaldırıyoruz. Böylece PIC programlanmak için boot edilerek hazır hala getiriliyor. HIDBootLoader klasöründeki HIDBootLoader.exe uygulamasını çalıştırarak .hex dosyasımızı PIC’e atabiliriz.

microchip-usb-hid-boot-loader

Device attached” ifadesi cihazın bağlandığını belirtiyor. Open Hex File butonuna tıklayarak .hex dosyamızı seçiyoruz ve Program/Verify butonuyla devremize aktarıyoruz. Aktarma işlemi bittikten sonra devremizi resetleyerek yüklediğimiz programı başlatıyoruz.

Devremizdeki çıkış LED’lerini ve LCD yi kontrol etmek amacıyla ilk önce 18F4550’ye [18F4550 USB KART\Program\PIC] dizinindeki DENEME.hex programını yüklüyoruz. PIC programı CCS C kullanılarak yazılmıştır. Programa ait tüm kütüphane ve başlık dosyaları bu klasördedir. Benim_LCD.c dosyası devrede kullandığım BONA MC1602 – 04 Rev.B model LCD’ye göre ayarlanmıştır. Sizde kullandığınız LCD’nin bacak bağlantılarına göre bu dosyayı düzenlemelisiniz.


#include <18F4550.h>
#device ADC=10
#fuses HSPLL,USBDIV,PLL5,PUT,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG,NOMCLR
#use delay(clock=48000000)

#define use_portb_lcd True
#define USB_HID_DEVICE     TRUE
#define USB_EP1_TX_ENABLE  USB_ENABLE_INTERRUPT //Uçnokta1'de Kesme transferi aktif
#define USB_EP1_RX_ENABLE  USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE    64                 //Uçnokta1 için maksimum alınacak ve gonderilecek
#define USB_EP1_RX_SIZE    64                 //veri boyutu (64 byte)

#include <benim_lcd.c>
#include <pic18_usb.h>
#include <USB_Konfigurasyon.h>                //USB konfigurasyon bilgileri bu dosyadadır.
#include <usb.c>
#define UcNokta1       1
#define Komut          gelen_paket[0]

//Yazılım (Firmware) Sürüm no
#define surum_no1      0x00  //surum_no2.surum_no1 ornek: 1.0
#define surum_no2      0x01

//Komutlar
#define LED_Kontrol    0x04
#define LCD_Yaz        0x05

void user_init(void)
{

set_tris_a(0xff);                   //PORTA GİRİŞ
set_tris_b(0x00);                   //PORTB ÇIKIŞ
set_tris_c(0x07);                   //PORTC İLK 3 PİN ÇIKIŞ DİĞERLERİ GİRİŞ
set_tris_d(0x00);                   //PORTD ÇIKIŞ
set_tris_e(0x00);                   //PORTE ÇIKIŞ
output_d(0);
setup_adc_ports(ADC_OFF );
lcd_hazirla();
}

void LCD_MetinYaz(char yazi[])
{
unsigned char i;
unsigned char k=0;
char harf;

printf(lcd_veri,"\f");

++yazi;
i=*yazi++;
harf=*yazi++;
lcd_komut(0x01);
for(;i!=0;i--)
{
printf(lcd_veri,"%c",harf);
delay_us(5);

if(k==15)
imlec(2,1);

harf=*yazi++;
k++;
}
}

void main(void)
{
byte sayac=0;
byte gelen_paket[65];               //gelen paket
byte gond_paket[65];                //gönderilecek paket

//Sistemi başlat
user_init();
usb_init();
usb_task();
printf(lcd_veri,"USB BAGLANTISI"); //USB bağlantısı kurulduysa LCD'de göster
imlec(2,1);
printf(lcd_veri,"KURULUYOR...");    //USB bağlantısı kurulduysa LCD'de göster
usb_wait_for_enumeration();         //Cihaz, hazır olana kadar bekle

if(usb_enumerated())
lcd_komut(0x01);
imlec(1,1);
printf(lcd_veri,"USB BAGLANTISI");//USB bağlantısı kurulduysa LCD'de göster
imlec(2,1);
printf(lcd_veri,"KURULDU");//USB bağlantısı kurulduysa LCD'de göster
for (;;)
{
while(usb_enumerated())
{

if (usb_kbhit(1))  //Eğer pc'den yeni bir paket geldiyse
{

usb_get_packet(UcNokta1, gelen_paket, 65); //paketi oku

switch(Komut)              // Paketin ilk elemanındaki komutu oku ve ilgili göreve git
{
case LED_Kontrol:
gond_paket[0]=0;
output_c(gelen_paket[1]<<3/10);
output_d(gelen_paket[1]>>3);
lcd_komut(0x01);
imlec(1,1);
printf(lcd_veri,"LED=>0x%X",gelen_paket[1]);
sayac = 0x01;
Komut = 0;
break;
case LCD_Yaz:
LCD_MetinYaz(gelen_paket);
sayac = 0x00;
break;
default: ; break;

}
}
if(sayac!=0)
{
if(usb_put_packet(UcNokta1, gond_paket, 65, USB_DTS_TOGGLE))
{
sayac = 0;
Komut = 0;
}
}
}
}
}

Bu programı PIC’e yükledikten sonra devremizin USB kablosunu PC’ye bağladığımızda sağ alt köşede donanım bulundu ifadesi çıkacak ve donanımız HID sınıfını kullandığı için otomatik olarak tanınacaktır. Artık [18F4550 USB KART\Program\PC PROGRAMI] dizinindeki USB.exe uygulamasını çalıştırarak devremizi kontrol edebiliriz. Eğer tüm adımları doğru uygulamışsak devreye enerji verdiğimizde PC’ye bağlı ise LCD ekranda “USB BAGLANTISI KURULDU” ifadesi yer alacaktır. USB.exe programını çalıştırdığımızda bağlantı kurulmuşsa şu şekilde bir pencere açılır;

usb-kontrol-programi

Bu pencere aracılığıyla LCD ekrana yazı gönderebilir ve devrede bulunan 7 adet LED’i kontrol edebiliriz. PC programı Visual Studio .Net kullanılarak C++ dilinde geliştirilmiş üzerinde değişiklik yapmak için Visual Studio .Net 2005 ve üstü bir platforma sahip olmalısınız. Ayrıca uygulamayı çalıştırmak içinde Microsoft .Net Framework 2.0 bilgisayarınızda kurulu olmalı.

Proteus isis, kod, program dosyaları: PIC18F4550 İle USB Haberleşme Kullanımı

Dosya indirme LINK listesi (TXT formatında) link-10769.zip şifre-pass: 320volt.com

Kolay Gelsin

  • selo

    Teşekkürler Konyalı gerçekten çok kaliteli paylaşımlarınız var.

    Yaşadığınız sorunlar için üzüldüm ama çürük elmalar hep olacak :) onlar kendi egolarını tatmin edecekler ama sizin yaptıklarınız size kar kalacak istediklerini yapsınlar o-şu-bu bilmesede yukarda Allah var

  • melih

    Eline sağlık arkadaşım usb konusunda türkçe kaynak kıtlığı varken gerçekten çok sağ ol

  • KIRIKDR

    eline sağlık kardeş çok güzel açıklamıssın çalışmalarında başarılar dilerim

  • oğuz ali can

    eline sağlık usta cidden tükçe kaynak sıkıntısı var bu konuda paylaştığın çok iyi olmuş

  • gürkan pakay

    Hocam elinize sağlık cok açıklayıcı ve açık olmuş, ama ben bir sorun yaşıyorum. win7(64 bit) de devreyi usb den bağladığımda unknow device hatası alıyorum.Neden kaynaklanıyor olabilir acaba ?işletim sisteminden olabilir mi?

  • Konyali

    sanırım HID sınıfı win7de farklılık gösteriyor ben win7 de denemedim. bu konuda pek çok yerde aynı sorunla karşılaşılıyor. XP de sorunsuz çalışıyor işletim sisteminden kaynakalanan sorunları forumlarda araştırma yaparak çözebilirsiniz.

  • Ahmet BÜYÜKÖZKAN

    Teşekkürler arkadaşım.

  • bme_gokhan

    dostum ben kendi çapımda çizim yapmaya çalışıyorum. bu her tarafı bakır ile kaplamada sorunum var. zone mode ile benzer bir şey yaptım ancak bu bölgelere yol birleştiremiyorum. eğer nasıl yapıldığı konusunda yardımcı olursan çok sevinirim.

  • Konyali

    Zone Mode – DEFAULT tan istediğin şekilde çizip uçları birleştirirsen çizdiğin şeklin içini doldurur. Edit Zone penceresinde LAYER/COLOUR Bottom Copper-Normal seçersen istediğin olur.

  • gürkan

    18 inci bacağa tantal 470nf takılmak zorunda mı?

  • Konyali

    @Gürkan
    Evet 18. bacak zaten VUSB diye geçiyor başka bir amaç için kullanılmıyor mecburen kondansatör takacaksın ama tantal olması şart değil

  • Davut Naci Kaya

    Evet, yoksa mikrodenetleyici çalışmazki…

  • gürkan

    elektrolitik kondansatör taktım 18. bacağa ama sizin devrenizde daha farklı bir kondansatör var,7805 yanındaki sarı 100nf gibi değil bide http://www.edaboard.com/thread155973.html
    linkdeki ikinci yorumda tantal olması gerekiyor deniyor. ondan bu soruyu sordum bir türlü çalıştıramadım
    sizin yaşadığınız sıkıntılar neydi? nerden olabailir tıkandım

  • Konyali

    Baskı devrede elektrolitik olarak çizmişim çünkü bu projeyi yaparken yararlandığım kaynakta (PIC18F4550 MİKRODENETLEYİCİSİ İLE USB-PC VERİ AKTARIM ARABİRİMİ GERÇEKLENMESİ sitede var) öyle kullanılmıştı ama muhtemelen devreyi yaparken malzeme kutusundan 470nF tantal çıkmış onu kullanmışım:D Sizde tantal kullanın USB portun GND ucu ile devrenizin GND sini birleştirin problemsiz çalışması gerekir. Ben herhangi bir problemle karşılaşmamıştım.

  • gürkan

    çok şanslıymışsın ben kafayı yedim bir kapasite bu kadar etkilermi diye. Kapsiteyle ilgili datasheede (Section 17.2.2.8) 220nf diyor. Tantal 470nf bulamadım izmitte bide 220nf deniyeceğim. Belki onunla olur. Bide size mail attım baskı devreyi lcd nin ilk satırı full kare kare kalıyor o neden olabilir?

  • Konyali

    LCD yi belirttiğim markadan kullandıysanız kontrast potunun değeriyle oynayarak ekrana yazıların gelmesini sağlayabilirsiniz. Başka marka bir lcd kullanmış iseniz bağlantıları ona göre yapmış olmanız gerekiyor. Gönderdiğiniz baskı devreyi maalesef açamadım ARES 7.6 sp4 kullanıyorum

  • gürkan

    ben 220 nf takarak çalıştırabildim devreyi.Benim sürüm 7.7sp2 miş herhalde ondan oldu bu arada lcd sizinkikinin aynısı, size pdf olarak acıklamalı tekrar atsam göze çarpan basit bir hata bulabilirsiniz belki. şimdiden çok teşekkürler

  • electrocoder

    Selamün Aleyküm. Arkadaşlar bu devre yi yaptım ama kristal elimde 20 mhz olmadığı için 4 mhz lik bağladım. harici programlayıcı ile “USB Device – HID – HID Bootloader – C18 – PIC18F4450.hex” isimli dosyayı yükledim. HIDBootLoader.exe programını pc de çalıştırdım ama deneme.hex i yükleyemiyorum. Pc donanım bulundu demiyor. Yardım edermisiniz ?

  • Konyali

    @Electrocoder
    Aleyküm selam. Kristali 20 MHz takman gerekir. Çünkü USB haberleşme için picin içinde PLL ile 48MHz e yükseltiliyor. Tüm yazılımlar 20MHz göre yapılandırıldığı için 4MHz ile çalışması mümkün değil. Kristali değiştirmeniz gerekir

  • electrocoder

    4Mhz lik bootloader buldum ve sorunum çözüldü. isteyenlere gönderebilirim. sitenin linkini kaybettim. anlamadığım şu. neden bir bootloader e ihtiyaç duyuyoruz nedir bu bootloader? . bootloader olmadan eski usuller ile programımızı (örnk. led yakıp söndürme) yazsak ve pice yüklesek olmazmı?

  • Konyali

    bootloader ın pek çok amacı var benim bu devrede kullanma amacım USB port üzerinden hem programlama işlemini yapmak (pici sök tak yapmamak için) hemde usb haberleşme hakkında örnek uygulamalar yaparak çalışma sistemini öğrenmekti.

  • electrocoder

    bootloader ile çalışma anında program real time olarak yüklenebiliyormu?

  • Konyali

    @Electrocoder
    Yazıda gerekli anlatım mevcut. Pic normal çalışırken boot ve reset tuşlarına basarsanız programlama moduna giriyor ve usb üzerinden gönderilen programı belleğe yazıyor daha sonra reset atılarak yüklenen program çalıştırılabiliyor. Yazıyı dikkatle okumanızı tavsiye ederim

  • oğuz ali can

    1 konyalı sana ulaşabileceğim bir mail adresi verirmisin ?
    2 sen konya’da mısın?
    hocam bir proje üzerinde çalışıyorum fakat bir kaç sorunum var kendim çözmem çok uzun zaman alıyor belki senin bilginden istifade ederek hızladırabilirim
    yardım edersen çok makbule geçer

  • @oğuz ali can hocam neden sorularınızı konu üzerinde yorum yaparak bildirmiyorsunuz ? gelecek olan cevaplardan diğer okurlarımızda faydalanabilir bu şekilde daha iyi olur

  • oğuz ali can

    @gevv haklısın fakat ben c18 dilini kullanıyorum gui içinse c# kullanıyorum çünkü c# da .com özelliği ile matlabı bağlıyorum birde usb hıd sınıfı değil pic 18 firmware dekilere benzer üretici sınıfı kullanmam gerekiyor hıd sınıfının haberleşme hızı proje için yetersiz yani projem burda anlatılan projeden biraz farklı. burdan yardım istememin nedeni ben konyadayım belki @konyalı da konya’dadır görüşebiliriz diye düşündüm yada mail adresiyle iletişim kurabiliriz çünkü önce ben kendi projemi anlatmam gerek

    Arkadaştan yardım istememin sebebi microchip firmwarelerin kodlarını tek tek incelemem gerekiyor ve çok uzun sürüyor eğer genel işleyişi biliyorsa sınıfların isteklerini en azından, daha kısa sürer bende projenin electronik kısımlarını daha uzun bir incelemeden, denemeden geçirebilirim diye düşündüm bütün bu sebeblerden burda bitmemiş bir projeyi hem anlatıp hemde sorunları söylemem çok zor olacak @konyalı’yla direk görüşebilirsem benim için çok daha hızlı ve kolay olur

  • anladım hocam umarım Konyalı hocamın vakti vardırda yardımcı olur ama sonuçları paylaşırsanız sevinirim

    bu arada yazının sonunda yazar bilgi bölümü var oradaki linke tıkladığınızda iletişim bilgileri görünecek :)

    iyi çalışmalar

  • oğuz ali can

    sağol kardeşim yardımı dokundu en azından aynı üniversitedeymişiz ben bulurum inşallah @konyalı’yı sonuçları paylaşırım inşallah bitirince eyvallah

  • macrocoders

    selamün aleyküm picc18 ve hitect de yazıyorum. sizin dosyadaki bootloderi yükledim. pc ile iletişim kurdum ve hex dosyayı yükledim. ama çalışmıyor. hex dosyaya boot adresini yazmam gerekiyormuş. çözemedim. yardım edermisiniz.

  • electrocoder

    18f4550 bölümü şu şekilde olmalı.

    // projenin adi : Usb_Hid_Sahin_18f4550
    // projenin amaci : boot bolumu yuklenmis mikroislemci ile
    // basit led yakip sondurme.

    // kullanilen mikroislemci : pic18f4550
    // kullanilan boot programi : USB_Device_HID_Bootloader_C18_PIC18F4550.hex
    // kullanilan derleyici : mplab ide c18 version : 8.6.3
    // iletisim : pythontr.org
    // aciklama : bootloder yüklenmiş pic kullanilacaksa
    // pragma code direktifinde bulunan satırlar kesinlikle
    // olmalidir. c18 derleyicisi main satirimizi nereye koyacagini
    // buradan anliyor.
    // bootloader olmadan pic i kullanmak istiyorsanız #pragma code araligindaki komutlari
    // silebilirsiniz.

    #include

    #pragma code REMAPPED_RESET_VECTOR=0x1000
    extern void _startup (void);
    void _reset (void)
    {
    _asm goto _startup _endasm
    }
    #pragma code

    void delay(void)
    {
    unsigned int i;
    for(i=0; i<33000; ++i);
    }

    void main(void)
    {
    TRISB=TRISB && 0x00000001;
    while(1)
    {
    PORTBbits.RB7=1;
    delay();
    PORTBbits.RB7=0;
    delay();
    }
    }
    http://pythontr.org/forum/8-windows/115-python-pyusb-modulu.html

  • Ahmet

    üstadım selam, senin deneme.hex dosyanı atıyorum fakat arkadaşların dediği gibi 16 adet dolu kare çıkıyor, sanırım bu hex de bir sorun var ama uygulamalardaki diğer lcd hex led hex gibi dosyaları attığımda düzgün çalışıyor ? fikrin var mı nedir acaba sorun :)

  • Konyali

    @Ahmet
    Yorumları okursan sorunun cevabı var aslında ama ben tekrar belirteyim. Mevcut deneme.hex dosyasını bootloader ile yükleyemezsin. Programları incelediysen çalışıyor dediğin örnekler basic dilinde yazılmış ve program başlangıcında reset vektörü belirtilmiş. deneme.hex dosyasına ait c dosyasını açarsan orada reset vektörünün belirtilmediğini görürsün o programın ve PC programının başka bi arkadaşa ait olduğunu sadece üzerinde ufak değişiklikler yaptığımı yazımda belirttim. Eğer kaynak c dosyasında reset vektörünü belirtirsen bootloader kullanarak deneme.hex dosyasını atabilir ve çalıştığını görebilirsin.

    kolay gelsin

  • emrullah

    hocam devreyi kurdum ama reset boot yaptığım zaman usb aygıtı tanımıyor diye uyarı veriyor. İşletim sistemi win7, Vusb deki kondansatorun cinsinin bir önemi var mıdır? Değer aralığı varmıdır yoksa illaki 470 mi olacak?

  • burak

    Emeğine sağlık

  • onur

    kolay gelsin ben bu devreyi rs 232 bağlantısından bağlanıp aynı şekilde usbdeki gibi yazı yazmak istiyorum yapabilirmiyim iyi günler…

  • electrocoder

    @Onur

    ne demek istediğinizi açıklarmısınız?

  • ONUR

    RS232 portundan RF alıcı verici kullanarak karşıdaki lcd ye yazı yazmam lazım bunu usb prgramı ile yapamadım usb de data-clock olduğu için. ama rs232 de bildiğiniz gibi RX TX uçlarından RF alıcı verici kullanılarak veri gönderilebiliyor bunu yapmam lazım arkadaşımın ödevi yardımcı olursanız sevinirim

  • Sahin

    Anladığım kadarıyla Pc den rs232 ile pic e veri gönderip lcd de yazmak istiyorsunuz ve Pc ile pic arasındaki veriyi rf ile taşımak istiyorsunuz.

    Bu devre ile bunu yapamazsınız. Elinizde rf transmitter, rf receiver, pc ve pic varsa daha kolay olur.

  • veysel

    kolay gelsin . ben yukarıdaki gibi yaptım fakat pc ye taktığımda boottan parmağımı çektiğimde tanınamayan cihaz diye uyarı veriyor. Microchip Solutions v2012-02-15 kütüphanesinden en günceli bu , Aygıt yöneticisinden driveri gösteriyorum yine de aynı hatayı veriyor.

    ne yapmam gerek ?

  • statiqq

    arkadaşlar kolay gelsin bu devreyi yaptım çok güzel ellerinize sağlık onur arkadaşımızın yapmaya çalıştığı şeyi yapmak istiyorum bu devre ile rs 232 portundan bağlanıp usb ile değilde rs232 portundan yazı yazmak istiyorum anlatabildim mi bilemiyorum sadece 232 portundan yazacağım ama pc programları filan lazım 2-3 günüm kaldı yardımcı olabilecek arkadaş varmı acaba lütfen

  • arat

    çok teşekkürler ,iyi bir örnek oldu

  • jose

    Hi, I’m from mexico did happen to have a video where you explain how you start with programming? I want to know because at school we call learning but on our own and is a month at the end of this month we qualify.
    So what I wanted!

  • Sami

    Bu picde dahili osilatör bulunmakta sanırım peki bootloader için ille harici osilatör mü gerekli yoksa iç osilatör yeterli mi?

  • hayri

    Paylaşım için teşekkürler..

    bir seferde byte olarak en fazla 255 e kadar yollayabiliyoruz

    shorta çevirirsek bunu yükseltme şansımız var mı ?

  • Murat Canıtez

    Paylaşım ve yorumlar için hepinize teşekkür ederim.
    – Devremde 20 mhz kristal kullandım
    – USB Device – HID – HID Bootloader – C18 – PIC18F4450.hex dosyasını programlayıcı ile PIC’e attım
    – HIDBootLoader.exe programıyla Deneme.hex dosyasını devrem üzerinde PIC’e attım
    – USB KONTROL programı devremi algılamıyor.
    Devrede bir problem olsa Bootloader’i yükleyemezdim diye düşünüyorum. Son 3 günümün tüm boş vakitlerini buna ayırdım. Neyi atlıyorum bilemedim ne olur yardım edin.

  • mustafa

    hocam paylaşımınız için çok teşekkür ediyorum sizin devreyi oldugu gibi kurdum deneme hex dosyasını pic’e attım yalnız c++ arayüzünü çalıştırınca cihaz bulunamadı diyor lütfen yardım…Hatamı bulamıyorum
    .

  • Ufuk

    selam güzel bir çalışma olmuş elinize sağlık, yalnız aklıma takılan bir konu var burada 20 mhz osc kullanılmış ama 22 pf kondansatör ile bağlanılmış. 18f4550 datasheetine bakılınca 20 mhz de 15 pf kullanılması gerektiği yazıyor. Bakınız 27.sayfa.Yazanlar aynen aşağıdaki gibidir.

    4 MHz 27 pF 27 pF
    8 MHz 22 pF 22 pF
    20 MHz 15 pF 15 pF

  • BURAK BAYIR

    PIC18F4550 ile yapılan usb kontrol projesini sitenizden indirip denedim çok güzel çalışıyor emeği geçen herkesten Allah razı olsun. Bu paylaşımların elektronik ve mekatroniğe ilgisi olan arkadaşlara çok faydalı olcağını düşünüyorum.

  • yusuf

    hocam iyi günler bootloader kullanmam gerekiyor yapdığınız programı indirdim onu pice yükledikten sonra yapmam gereken hiç bir şey yok değilmi yani pice istediğim dilde istediğim şekilde kod yazabilirim herhangi bir şey belirtmeden
    sormamdaki neden bir sayfada araştırırken görmüşdüm kodu yazarken bir şeyler belirtiyorduk üst üste yazmamaması içinmi ne o yüzden sordum cevabınız için şimdiden teşekkür ederim

  • Gökhan Çetinkaya

    Merhabalar Konyalı Hocam, yorumlarda Deneme.hex’i usb üzerinden pic’e atabilmemiz için koda reset faktör eklememiz gerektiğinden bahsettiniz. Acaba yardımcı olabilir misiniz? Kodun başına ne eklemeliyim?