PIC18f4550 USB MLA KUTUPHANELERININ KULLANIMI

rafetirmak

Üye
Katılım
14 Haz 2019
Mesajlar
13
Puanları
1
PIC18f4550 XC8 USB MLA KUTUPHANELERININ KULLANIMI

1) MLA Nedir?
MLA=Microchip Lİbraries for Application
Microchip'in kütüphanleri içeren destek kütüphanesidir.

Aşağıdaki adresten indirilebilir
https://www.microchip.com/mplab/microchip-libraries-for-applications

2)PIC 18f4550 microdenetleyicisi için olan MLA örneklerini hangileridir.

Microchip'in eski su an uretimi bulunmayan geliştirme kartı PicDem FS USB Demo Board'u PIC18f4550 ve PIC18f45k50 microdenetleyicilerine sahiptir. Bu geliştirme kartı için yazılmış örnekler PIC18f4550 için hzrıladığınız kartlarda çalıştırılabilir.

örneğin:
PIC18f4550, USB örenkleri; MLA v.2018_11_26 sürümü için aşağıdaki dosya yolunda yer alır

..\microchip\mla\v2018_11_26\apps\usb\device\hid_custom\firmware
bu dizine eriştiğnizde
picdem_fs_usb.x klasöründe USB örneklerine ulaşılır.

3) Bu dosyaları örnek alarak kendi örneklerinizi nasıl geliştireceksiniz ?
XC8 derleyicisi ve MLA kütüphaneleri kullanılarak USB gelişitrmelerinde önemli zorluklardan bir tanesi kütüphanelerin (framework), örneklerin ve ilgili diğer dosyaların farklı klasörlerde yer almasıdır.
Bu nedenle MPLAB altında örneği paketlemeniz gerekmekte. Oluşan zip klasörünü çalışmak istediğiniz klasöre açtığınızda iligli bütün dosyalar çalışma klasörünüzün içine aktarılmış olur.

4) Örnek projelerin paketlenmesi
4.1. OPEN project ile çalışmak istediğiniz örnek projeyi MLA içinden seçin
001.png


4.2. Proje açıldığında ilgili dosyaların dağılımını ağaç gürünümünde görülecektir.
002.PNG


4.3. Projenin adının ağaç görünümünde üstüne gelip sağ tuşa bastıgınızda PACKAGE seçeneği görülecektir.
003.png

4.4. Bu tusa bastığınızda ilgili projenin bulunduğu klasöre zip olarak proje paketlenecektir
örneğimizde:
C:\microchip\mla\v2018_11_26\apps\usb\device\hid_mouse\firmware\picdem_fs_usb.x\USB_Device_-_HID_-_Mouse.zip

4.4. Bu zip dosyasını çalışmak istediğiniz yere aktarıp açtığınızda istediğiniz ihtiyac duyacagınız butun dosyalar tasınmıs olur. Bunları modifiye ederek kendi USB uygulamanızı MLA kütüphanelerini kullanarak gelistirebilirsiniz
 
MLA-USB KUTUPHANESI KOMUTLARI-1

USBDeviceInit()

USBDeviceAttach()


MLA-USB kutuphanesinin iki onemli komutudur.

Her iki komutun kullanila bilmesi için projeye usb_device.h ve usb_device.c kütüphane dosylarinin eklenmesi gerekir.


USB iletişim protokolünü kullaniminda ilk önce, USBDeviceInit() komutu yazılmalıdır.

İkinci sirada ise USBDeviceAttach() komutu yazilir.

Örnek:
void main(void)
{
/************************************************************/
// USB iletisimi disindaki ayarlar yapilir

usb_disi_ilk_ayarlari_yap();
/************************************************************/

USBDeviceInit();

USBDeviceAttach();

while(1)
{
// Burada da USB cihazinin yapmasi gereken islemler ile ilgili kodlar yazilir.
}//end while
}//end main
 
Son düzenleme:
USB DESCRIPTORS

USB iletisiminin bir sistem tarafindan dogru kullanilabilmesi icin USB Descriptor'larn dogru bir sekilde tanimlanmasi gerekir.


USB iletisiminde PC'nin bizden istedigi, cihazimiza ilk sordugu Descriptor, Device Descriptor'dir

ANA DEVICE DESCRIPTORLAR

bcdUSB
bDeviceClass
idVendor
idProduct
bNumConfigurations

MLA Kutuphanesi Device Descriptor veri tipi;

typedef struct _USB_DEVICE_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT bcdUSB;
UCHAR bDeviceClass;
UCHAR bDeviceSubClass;
UCHAR bDeviceProtocol;
UCHAR bMaxPacketSize0;
USHORT idVendor;
USHORT idProduct;
USHORT bcdDevice;
UCHAR iManufacturer;
UCHAR iProduct;
UCHAR iSerialNumber;
UCHAR bNumConfigurations;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;

ÖRNEK HID DEVICE DESCRIPTOR (custom HID Device ornegi)

const USB_DEVICE_DESCRIPTOR device_dsc=
{
0x12, // Size of this descriptor in bytes
USB_DESCRIPTOR_DEVICE, // DEVICE descriptor type
0x0200, // USB Spec Release Number in BCD format
0x00, // Class Code
0x00, // Subclass code
0x00, // Protocol code
USB_EP0_BUFF_SIZE, // Max packet size for EP0, see usb_config.h
0x04D8, // Vendor ID
0x003F, // Product ID: Custom HID device demo
0x0100, // Device release number in BCD format
0x01, // Manufacturer string index
0x02, // Product string index
0x00, // Device serial number string index
0x01 // Number of possible configurations
};

Kaynak:
https://microchipdeveloper.com/usb:descriptor
 

Yeni mesajlar

Forum istatistikleri

Konular
127,964
Mesajlar
913,939
Kullanıcılar
449,609
Son üye
cherrywine

Yeni konular

Geri
Üst