NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 1249 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 8 12345678 آخرینآخرین
نمایش نتایج: از 1 به 20 از 145

موضوع: آموزش جامع اتصال avr به پورت usb در بسکام

  1. #1
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض آموزش جامع اتصال avr به پورت usb در بسکام

    سلام

    یه آموزش راجع به نحوه ی ارتباط دهی AVR با پورت USB و برنامه نویسیش با بسکام تهیه کردم. در سمت کامپیوتر هم زبان های برنامه نویسی می تونن ویژوال بیسیک ، VB.NET و #C باشن.

    این آموزش در قالب سه فایل تهیه شده : آموزش برنامه ی AVR ، آموزش برنامه ی کامپیوتر و آموزش سخت افزار - البته در سمت کامپیوتر ، آموزش بر مبنای BV.NET تهیه شده. ضمنا آموزش شامل 4 مثال متنوع و ساده هم هست.

    امیدوارم که مطلب خوبی باشه.



    دانلود فایل های آموزش AVR و پورت USB

    لینک کمکی


    بخش هایی از آموزش برنامه ی AVR :

    کمپانی MCSelec که تهیه کننده و سازنده ی کامپایلر بسکام می باشد در امر ایجاد کتابخانه های فراوان و مفید ، برای ارتباط میکروکنترلرهای AVR با مدارات جانبی ، یدی طولانی دارد. از جمله دارای کتابخانه ای با نام USB Add On می باشد. اما شاید بتوان گفت که بزرگترین ضعف این کتابخانه اینست که تنها برای میکروکنترلرهای سری ATUSB طراحی شده که از بین آنها درحال حاضر فقط ATUSB162 و ATUSB1287 پشتیبانی می شوند. (سایر تراشه های گروه ATUSB هم بزودی پشتیبانی خواهند شد). بنابراین در صورت استفاده از این کتابخانه نمی توان با سایر میکروکنترلرهای AVR برنامه ای برای ارتباط با پورت USB نوشت. ضمن اینکه این کتابخانه جزو آندسته از کتابخانه هائیست که باید از شرکت mcselec خریداری شوند.

    اما در کنار این کتابخانه ، فردی با نام کاربری Ollopa که یکی از کاربران سایت Home - MCS Electronics می باشند کتابخانه ی دیگری با نام swusb.LBX تهیه کرده اند که دارای دو مزیت عمده نسبت به کتابخانه ی USB Add On می باشد. مزیت اول رایگان بودن کتابخانه است و مزیت دوم اینست که می توان از آن برای هر میکروکنترلری که دارای 4 کیلو بایت حافظه ی Flash باشد استفاده کرد. بنابراین شما می توانید با استفاده از این کتابخانه و یک میکروکنترلر ATMega8 برنامه هایی مبتنی بر پورت USB بنویسید. این کتابخانه سخت افزار را به عنوان یک HID یا Human Interface Device به کامپیوتر معرفی می کند. بنابراین سخت افزار بصورت اتوماتیک توسط کامپیوتر شناخته می شود و نیازی به درایور برای معرفی آن نیست.


    بخش هایی از آموزش برنامه ی کامپیوتر :

    در زبان های برنامه نویسی مختلف ، توابع و کلاس های متفاوتی برای کار با پورت USB وجود دارند که بکارگیری آنها برای همگان کار ساده ای نیست و با پیچیدگی و دشواری های خاصی همراه است. لذا جناب آقای Amr Bekhit اقدام به تهیه ی یک کتابخانه و فایل DLL در سمت کامپیوتر و برای زبان های ویژوال بیسیک ، Visual Basic.NET و C# نموده اند که به برنامه نویسان اجازه می دهد به سادگی با پورت USB ارتباط برقرار کنند. نام این کتابخانه mcHIDInetrface می باشد و به همراه یک فایل DLL به نام mcHID مورد استفاده قرار می گیرد.

    در این آموزش که برای زبان محبوب Visual Basic.NET تهیه شده است به روش های ایجاد یک پروژه با استفاده از این کتابخانه پرداخته ام و برای درک هرچه بهتر مطالب از چهار مثال عملی استفاده کرده ام که هرکدام دارای مثالی مشابه در فایل آموزش برنامه ی AVR می باشند. بدین معنی که مثال یک در این آموزش دقیقا همان مثال یک در فایل آموزش برنامه ی AVR است با این تفاوت که در اینجا به بررسی برنامه نویسی سمت کامپیوتر این مثال می پردازیم و در فایل آموزش برنامه ی AVR به بررسی برنامه ی میکروکنترلر آن.


    بخش هایی از آموزش سخت افزار :

    در حالت کلی دستگاه هایی که به پورت USB متصل می شوند از نظر سرعت برقراری ارتباط به چهار نوع تقسیم بندی می شوند که عبارتند از :

    1. دستگاه های سرعت پائین یا Low Speed با نرخ سرعت 1.5 Mbit/s در نسخه ی USB 1.0 که در ژانویه 1996 بطور رسمی معرفی شد.

    2. دستگاه های سرعت بالا یا Full Speed با نرخ سرعت 12 Mbit/s که به همراه سرعت 1.5Mbit/s در ژانویه 1996 در نسخه ی USB 1.0 معرفی گردید. اما استفاده ی گسترده از پورت USB در سپتامبر سال 1998 و از نسخه ی USB 1.1 به بعد بود.

    3. دستگاه های سرعت ماکزیمم یا High Speed با نرخ سرعت 480 Mbit/s یا 60 MB/s که در آوریل سال 2000 و در نسخه ی USB 2.0 عرضه شد.

    4. دستگاه های ابر سرعت یا Super Speed با نرخ سرعت 5 Gbit/s یا 625 MB/s که در نوامبر سال 2008 و در نسخه ی USB 3.0 عرضه گردید که سرعت آن بیش از 10 برابر سرعت نسخه ی USB 2.0 است.

    توجه :نوع انتقال داده در همه ی نسخه های USB از نوع سریال می باشد اما نسخه ها ی USB 2.0 و قبل از آن ، دارای ارتباط نیمه دو طرفه می باشند در حالیکه در نسخه ی USB 3.0 این ارتباط کاملا دو طرفه است که یکی از دلایل افزایش سرعت آن نیز همین مورد می باشد.
    ویرایش توسط morteza_rk : 23-02-2014 در ساعت 19:53
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من


  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    ناظم سایت KHM آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    1,047
    تشکر
    2,895
    تشکر شده 2,131 بار در 905 پست

    پیش فرض

    دادا دمت گرم..خسته نباشی...خیلی خیلی تشکر

  4. کاربران : 6 تشکر کرده اند از شما KHM برای ارسال این پست سودمند:


  5. #3
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس رحيمي عزيز
    دستتون درد نكنه.
    جاي همچين آموزشي خالي بود.
    ممنون از زحمتي كه كشيدين.

    خودم خيلي كم از بسكام استفاده ميكنم و بيشتر با WINAVR كار ميكنم.
    _____________________________________
    _____________________________________

  6. کاربران : 5 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  7. #4
    کاربر علاقه مند
    تاریخ عضویت
    Feb 2011
    نام
    امین
    نوشته ها
    80
    تشکر
    255
    تشکر شده 107 بار در 53 پست

    پیش فرض

    سلام
    من خیلی دنبال یه همچین چیزی برای بسکام میگشتم
    یه تنکس خشک وخالی کافی نبود
    واقعا دستت درد نکنه

  8. کاربران : 4 تشکر کرده اند از شما sarutobi برای ارسال این پست سودمند:


  9. #5
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    اتفاقا منم خیلی دنبالش بودم ، خیلی هم اتفاقی توی سایت mcselec پیداش کردم. انقدر برام مهم بود که پروژه ای رو که در حال انجامش بودم کلا ول کردم و رفتم دنبال این کتابخونه و نوشتن آموزش استفاده از اون.

    چنتا آموزش دیگه هم می خوام بذارم در زمینه ی Bootloader و MMC و ترکیب این دوتا ، ولی وقت نمیشه متاسفانه. انشالله سرم که یکم خلوت بشه روی بوت لودر با پورت USB هم کار می کنم و آموزش اونم میذارم.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  10. کاربران : 11 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  11. #6
    تازه وارد
    تاریخ عضویت
    Jul 2012
    نوشته ها
    1
    تشکر
    0
    تشکر شده 2 بار در 1 پست

    پیش فرض

    دمت گرم

  12. کاربران : 2 تشکر کرده اند از شما nadaliniareza برای ارسال این پست سودمند:


  13. #7
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    تشکر فراوان آقا مرتضی
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  14. کاربران : 4 تشکر کرده اند از شما vahidasm برای ارسال این پست سودمند:


  15. #8
    تازه وارد
    تاریخ عضویت
    Dec 2010
    نوشته ها
    4
    تشکر
    13
    تشکر شده 1 بار در 1 پست

    پیش فرض تغذیه مدار

    سلام و وقت بخیر
    ببخشید من زیاد پروتوس کار نکردم و یه مشکل دارم:
    منبع تغذیه مدار کجاست؟
    مدار میکرو چه جوری تغذیه میشه؟با 3.3 ولت
    من کلن مبهوت شدم
    چون از usb 5 ولت میگیریم و به میکرو میدم ؟؟؟؟
    لطفن راهنمای کنید
    ممنون

  16. تشکرها از این نوشته :


  17. #9
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    نقل قول نوشته اصلی توسط majid.ebru نمایش پست ها
    سلام و وقت بخیر
    ببخشید من زیاد پروتوس کار نکردم و یه مشکل دارم:
    منبع تغذیه مدار کجاست؟
    مدار میکرو چه جوری تغذیه میشه؟با 3.3 ولت
    من کلن مبهوت شدم
    چون از usb 5 ولت میگیریم و به میکرو میدم ؟؟؟؟
    لطفن راهنمای کنید
    ممنون
    با سلام دوست عزیز
    ورودتون به انجمن رو به نوبه خودم خیر مقدم عرض میکنم
    قبل از هر چیز باید بگم که جای پرسیدن این سوال اینجا نبود
    در مورد تغذیه باید بگم که تو پروتیوس احتیاجی نیست که تغذیه وصل بکنید و به این دلیل پایه تغذیه رو شما توی پروتیوس پیدا نمیکنید که خودش به صورت اتوماتیک وصل میشه
    من نمیدونم که شما از چه میکرو کنترلری استفاده میکنید که بهتون بگم که دقیقا پایه تغذیه کدوم پایه ها میشه ولی شما میتونی از اینجا قطعه مورد نظرتو سرچ کنی و دیتا شیتشو دانلود کنی و از روی اون بفهمی که پایه های تغذیه به کدوم پایه ها وصل میشن
    مثلا میکرو mega32 پایه 10 میشه vcc و پایه 11 میشه gnd
    موفق باشید
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  18. کاربران : 3 تشکر کرده اند از شما vahidasm برای ارسال این پست سودمند:


  19. #10
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    منبع تغذیه مدار کجاست؟
    مدار میکرو چه جوری تغذیه میشه؟با 3.3 ولت
    من کلن مبهوت شدم
    چون از usb 5 ولت میگیریم و به میکرو میدم ؟؟؟
    سلام ، به انجمن ما خوش اومدی.

    فکر می کنم که توی آموزش ها ، قسمت سخت افزار رو نخوندی! اونجا دقیقا توضیح دادم که چی به چیه؟! اونم به چندین روش.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  20. کاربران : 2 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  21. #11
    ناظم انجمن vahidasm آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    وحید
    نوشته ها
    754
    تشکر
    1,068
    تشکر شده 881 بار در 470 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mehdi29665 نمایش پست ها
    اگه بخواهیم درباره برنامه های این آموزش سوال کنیم همینجا باید مطرح بشه؟
    سلام
    بله همینجا مطرح کنید
    مثل من که الان یه سوال برام پیش اومده
    آقا مرتضی این پروژه و همچنین نرم افزارش برای ویندوز 64 بیتی جواب میده؟؟
    آخه یه جا دیگه ازتون پرسیدم گفته بودین که درایور تعریف کردن توی ویندوزهای 64 بیتی یه سری مشکلات ایجاد میکنه و...
    بازم ممنونم
    اولین مرحله شناخت آفرینش همانا خرد است چشم و گوش و زبان سه نگهبان اویند که لاجرم هر چه نیکی و شر است از همین سه ریشه می گیرد .و افسوس که بدنبال کنندگان خرد اندکند باید که به سخن دانندگان راه جست و باید جهان را کاوش نمود و از هر کسی دانشی آموخت و یک دم را هم برای آموختن نباید از دست داد . فردوسی خردمند

  22. کاربران : 2 تشکر کرده اند از شما vahidasm برای ارسال این پست سودمند:


  23. #12
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    پیش فرض

    سلام آقا وحید.
    من الان دارم روی همین پروژه کار میکنم.
    ویندوزم 7 ولی 32 بیتی
    یک دونه USBASP پروگرمر درست کرده بودم روی ایکس پی خوب کار میکرد ولی 7 نشناختش
    با کلی وبگردی تونستم نسخه جدید فریمورش رو پیداکنم.
    .
    سوال من اینه که چند تا دستور رو داخل بدنه اصلی برنامه قرار دادند و دائما اجرا میشن
    امکانش هست که مثلا بذاریم با یک وقفه کارشونو شروع کنند
    مثل این
    Resetcounter = 0


    'Check for reset here

    While _usb_pin._usb_dminus = 0

    Incr Resetcounter

    If Resetcounter = 1000 Then

    Call Usb_reset()

    End If

    Wend
    چون ممکنه مثلا برای تابلو روان یا مشابه این برنامه بنویسیم و این 1000 شماره وقفه ای توی برنامه ایجاد کنه

  24. کاربران : 2 تشکر کرده اند از شما mehdi29665 برای ارسال این پست سودمند:


  25. #13
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    آقا مرتضی این پروژه و همچنین نرم افزارش برای ویندوز 64 بیتی جواب میده؟؟
    راستش من با ویندوز 64 بیتی تست نکردم. ولی از اونجائیکه این کتابخونه سخت افزار رو یک دستگاه HID تعریف می کنه بنابراین نیازی به درایور نداره! وقتی هم که به درایور نیازی نباشه یعنی نباید مشکلی پیش بیاد.

    سوال من اینه که چند تا دستور رو داخل بدنه اصلی برنامه قرار دادند و دائما اجرا میشن
    امکانش هست که مثلا بذاریم با یک وقفه کارشونو شروع کنند
    فکر نمی کنم که بشه مهندس! اگه اینکارو بکنید دستگاه دیرتر توسط کامپیوتر شناخته میشه یا اینکه اصلا کار نمی کنه. توابعی مثل این همیشه باید بطور ثابت و دست نخورده باقی بمونن. بازم برای اطمینان خاطر بیشتر به آدرس زیر که تاپیکی راجع به این کتابخونه در سایت mcselec.com هست مراجعه کنید و اونجا سوالتونو مطرح کنید.


    Forum - MCS Electronics
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  26. کاربران : 3 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  27. #14
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    پیش فرض

    جناب آقای رحیمی برنامه های سمت کامپیوتر حتما باید با vb.net باشه؟
    امکانش هست با vb هم براش برنامه نوشت. اگه ممکنه فقط برنامه ارسال و دریافت رو با vb برام تیدیل کنید ممنون میشم.
    با تشکر

  28. #15
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    جناب آقای رحیمی برنامه های سمت کامپیوتر حتما باید با vb.net باشه؟
    امکانش هست با vb هم براش برنامه نوشت. اگه ممکنه فقط برنامه ارسال و دریافت رو با vb برام تیدیل کنید ممنون میشم.
    با تشکر
    برنامه می تونه با زبان های سی شارپ و vb هم باشه. فایل های لازم برای این زبان ها هم توی پوشه ی پیوست ها هست. اگر کسی باشه که به زبان های دیگه تسلط داشته باشه می تونه این فایل های کتابخونه رو برای زبان های دیگه هم تبدیل کنه.

    من شرمنده ام. اصلا وقت ندارم که vb.net رو به vb تبدیل کنم. (البته خیلی ساده هست ، تقریبا شبیه هم هستن) ، حتی الان یه ماه و خورده ای میشه که کمتر به سایت سر میزنم. خیلی درگیرم.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  29. کاربران : 3 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  30. #16
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    پیش فرض

    آقای رحیمی باز هم تشکر میکنم
    یک برنامه به زبان وی بی پیدا کردم که با کمی دستکاری جواب میگیرم.

  31. #17
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    Exclamation

    بالاخره راه افتاد
    این پروژه رو به این شکل بستم که آی سی یو اس بی (مگا8)با دستور input یک بایت رو از ورودی rx میکرو میگره و به کامپیوتر ارسال میکنه و در کامپیوتر نیز نمایش داده میشه
    از طرف دیگه یک میکرو دیگه(مگا32) یکسری اعداد رو پشت سر هم توسط دستور printbin به مگا 8 ارسال میکنه
    منتها یک مشکلی این وسط هست و اونم اینه که سرعت ارسال بایتهای پشت سر هم توسط مگا 32 رو باید با دستور waitms 33 کم کرد والا بعضی بایتها جا میمانند.
    با آزمایش من حداکثر تعداد بایت در ثانیه رو به 30 بایت میشه رسوند و بیشتر از اون برابر است با

    آیا میتونید منو راهنمایی کنید چطور میشه سرعت رو بالا برد؟
    البته فکر کنم مشکل توی برنامه مگا 8 باید باشد اون دستورات داخل بدنه اصلی برنامه؟
    ویرایش توسط mehdi29665 : 05-08-2012 در ساعت 12:45

  32. تشکرها از این نوشته :


  33. #18
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    مشکل از این جاست که در سرعت های بالا باید برای ارتباط سریال بافر تعریف کنید وگرنه اطلاعات از دست میرن.

    اما اگه بافر وجود داشته باشه این مشکل پیش نمیاد ، چون اطلاعات ورودی یه جا نگه داشته میشن تا نوبتشون برسه و خونده بشن.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  34. کاربران : 3 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  35. #19
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    Icon16

    من توی برنامه مگا 8 داخل برنامه اصلی یک متغیر از نوع بایت رو دائما یک شماره اضافه میکردم و به کامپیوتر میفرستم و اونجا از 0 تا 255 شماره رو کامل میگرفت و با یک محاسبه متوجه شدم حلقه بین do..loop برنامه مگا8 دقیقا 32 میلی ثانیه طول میکشه تا از اول اجرا بشه و مشکل پائئین بودن سرعت مگا 8 میباشد

    Do

    Resetcounter = 0
    'Check for reset here
    While _usb_pin._usb_dminus = 0
    Incr Resetcounter
    If Resetcounter = 1000 Then
    Call Usb_reset()
    End If
    Wend
    Check for received data
    If _usb_status._usb_rxc = 1 Then
    If _usb_status._usb_setup = 1 Then
    'Process a setup packet/Control message
    Call Usb_processsetup(_usb_tx_status)
    Elseif _usb_status._usb_endp1 = 1 Then
    ' Input data endpoints
    End If
    'Reset the RXC bit and set the RTR bit (ready to receive a new packet)
    _usb_status._usb_rtr = 1
    _usb_status._usb_rxc = 0
    End If


    If Device_configured = 1 Then
    If _usb_tx_status2._usb_txc = 1 Then
    در این قسمت یک بایت ارسال میشود
    _usb_tx_buffer2(2) = Key

    Call Usb_send(_usb_tx_status2 , 1) ' Send data (1 bytes) to PC

    Incr Key

    end If
    End If

    Loop

    البته این سرعت فکر کنم برای موس و کیبورد مناسب باشه
    ولی برای ساخت یک اسکوپ خیلی کمه

  36. #20
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    Icon16

    آخرین کاری که میشه انجام داد اینه

    If Device_configured = 1 Then



    For Key = 0 To 50

    If _usb_tx_status2._usb_txc = 1 Then


    _usb_tx_buffer2(2) = Key


    Call Usb_send(_usb_tx_status2 , 1) ' Send data (1 bytes) to PC



    End If

    Waitms 32

    Next Key

    End If


    یعنی بجای اینکه داخل حلقه do..loop بچرخه فقط در قسمت ارسال ، حلقه درست کردم ودائما عدد فوق رو ارسال کردم و دیدم بدون waitms 32 اعداد ناقص بسمت کامپیوتر ارسال میشن

    آقا کسی نیست راهنمایی کنه؟

صفحه 1 از 8 12345678 آخرینآخرین

موضوعات مشابه

  1. پاسخ: 8
    آخرين نوشته: 23-04-2017, 22:03
  2. اتصال پورت شبکه میکرو arm به wifi
    توسط sina_kalani در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 1
    آخرين نوشته: 19-01-2015, 16:26
  3. اتصال میکرو به پورت usb
    توسط xubin در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 28-01-2014, 18:47
  4. مشکل در اتصال lcd به پورتc میکروatmega32
    توسط hadi elec در انجمن ATXMEGA
    پاسخ: 16
    آخرين نوشته: 19-08-2013, 20:05
  5. اتصال پورت شبکه به At91sam7x512 .net
    توسط mehrdadshokoh در انجمن ATXMEGA
    پاسخ: 3
    آخرين نوشته: 10-06-2012, 20:38

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •