۱۳۸۷ آذر ۱۰, یکشنبه

OBDEV USB

فصل اول : OBDEV USB چیست؟

این پدیده یک درایور نرم افزاری منطبق با winavr می باشد که خیلی خوب میباشد. شما تنها با اشغال کردن 2 یا 3 پایه از AVR میتوانید با پورت USB کامپیوتر ارتباط برقرار کنید. این نرم افزار حد اکثر 2kB از فضای فلش را اشغال میکند و اینتراپت خارجی INT0 را نیز اشغال میکند.( یعنی یه روتین اینتراپت داخل این درایور هستش) وقتی از این درایور استفاده می کنید باید فلگ عمومی وقفه I دائما فعال باشد و یه تابع به نام usbPoll(); باید مرتبا ( حداقل هر 50ms یک بار فراخوانی شود) برنامه زیر یک مثال ساده و عملی از این درایور است. فرکانس کریستال تعریف شده برای این درایور 8MHz,12MHz , 16MHz , 20MHz می باشد.



#include "usbdrv.h"
#include "avr/interrupt.h"

uchar usbFunctionSetup(uchar data[8]) {
    return 0;
}

int main()
{
    usbInit();
    sei(); //enable all interrupts

    for(;;)
    {
        usbPoll();
    }
}


center

هیچ قطعه و یا سیم کشی خاصی برای این درایور لازم نیست تنها دو قانون وجود دارد :
1. پایه +D حتما باید پایه int0 باشد یا این پایه به int0 نیز وصل شده باشد ، که در مدار ما راه دوم را انتخاب کرده، به همین دلیل پایه PD2 به PB1 وصل شده.
2. پایه -D حتما باید دارای مقاومت Pullup حدود 1.5 کیلو باشد.

در آدرس زیر می توانید پروژه های بسیاری را ببینید که با این درایور نوشته شده اند.
تمام پروژه های نوشته شده با OBDEV

ادامه این آموزش

هیچ نظری موجود نیست: