اطلاعیه

Collapse
No announcement yet.

نمونه کدهایی برای XMEGA

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #46
    پاسخ : نمونه کدهایی برای XMEGA

    پست شما را از نظر نمایش کد تصحیح کردم. قبل از پرداختن به برنامه شما، آیا برنامه اتصال به پورت سریال و نمایش روی LCD کاراکتری را امتحان کرده اید و از آن جواب گرفته اید؟
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #47
      پاسخ : نمونه کدهایی برای XMEGA

      با سلام.

      امروز نحوه پورت کردن سیستم عامل گرافیکی uc/gui رو روی atxmega128a1 قرار می دهم ،این rtos تقریبا یک rtos گرافیکی با امکانات بسیار زیاد می باشد و قابلیت ساپورت اکثر lcd ها رو دارد قابلیتهای این rtos بسیار زیاد می باشد که خودتون می توانید با نگاه کردن به قسمتی از توابع و کتابخانه های ان به ان پی ببرید ،از جمله امکانات ان علاوه بر ساپورت اکثر lcd ها می توان به ساپورت اکثر زبانها مانند فارسی،ژاپنی،چینی و....همچنین پشتیبانی از صفحات تاچ و .... نام برد.
      در سورس قرار داده شده انواع فونت انگلیسی با سایز 8*8,16*8و24و32 پیکسل و ... وجود دارد همچنین می توانید با استفاده از نرم افزار font converter داخل فایلهای بار گذاری شده انواع فونت فارسی و .... را از فونتهای ویندوز تهیه کنید،که بنده یک نمونه با فونت elham به نام F20_1 درست کرده و داخل پوشه FONT قرار داده ام،همچنین یک نمونه از نحوه نمایش کارکتر های فارسی روی LCD انجام داده ام.

      توجهات در نمایش کلمات فارسی:
      1-دستور #define GUI_SUPPORT_ARABIC 1 را در فایل GUIconf.h اضافه کنید با این دستور اعلام میکنیم که از کلمات عربی استفاده می کنیم و چون فارسی ،عربی از راست به چپ نوشته می شود ،این دستور تنظیمات مورد نظر را انجام می دهد.
      2-برای نوشتن فارسی،عربی می توانید از دستورات موجود در هیدر GUI_ARABIC.c استفاده کنید

      دانلود سورس(تست شده):
      http://www.persiangig.com/pages/download/?dl=http://elecman.persiangig.com/document/uc-gui-v3.98.rar

      دانلود سورس خام با نرم افزار های مربوطه:
      http://up.iranblog.com/images/7jvoxch9cag2ug7tz84n.rar

      البته جا داره در اینجا از مهندس کی نژاد نیز یک تشکر اساسی بکنیم.


      دکتر شريعتي:

      زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

      دیدگاه


        #48
        پاسخ : نمونه کدهایی برای XMEGA

        من تشکر ویژه خود را از جناب NAO_ROBOT برای فعالیت های بسیار مفید اخیرشان در انجمن XMEGA اعلام می کنم. در همین رابطه یکی از کارهای خوبی که می توانید انجام دهید، قرار دادن پست هایی در جهت توضیح نحوه عملکرد نمونه کدهای قرار داده شده است. مثلا در رابطه با rtos اخیر، اگر یک تاپیک مجزا تشکیل دهید و راجع به توابع و دستورات مختلف آن توضیحات بیشتری را در اختیار دوستان قرار دهید، در اینصورت سورس های قرار داده شده بیشتر قابل استفاده خواهند بود.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #49
          پاسخ : نمونه کدهایی برای XMEGA

          سلام

          اولا تشکر می کنم از تمام دوستان و مهندس کی نژاد.

          دوما نمی دونم چرا xmega مثل سری mega تو ایران جا نمیفته،بنده با وجود اینکه arm هم کار می کنم ولی ارادت ویژه ای به سری xmega دارم

          سوما نبود یک برد اموزشی کامل آدمو سرد میکنه(مثلا سرهم بندی قطعات با سیم برد بردی،البته این مورد به مرور زمان قابل حله)

          در مورد rtos هم به نظرم هر کس در هر کدوم از rtos های موجود مهارت یا اشنائی داره قدم جلو بذاره ،بنده می خوام uc/gui کار کنم ،البته همچین حرفه ای هم نیستم ولی با مطالعه سورس هاش و راهنماش به نظر می یاد زیادم سخت نباشه ،در اولین فرصت بعد از امتحانات می خوام lcd n96 رو باهاش راه اندازی کنم اگر موفقیت امیز بود بعد از اون تا حدی که از دستم بر بیاد شروع به بحث در مورد این rtos خواهم کرد.
          دکتر شريعتي:

          زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

          دیدگاه


            #50
            پاسخ : نمونه کدهایی برای XMEGA

            مثل اینکه خیلی عقب موندیم به خاطر امتحانات
            یه نمونه کد از اینتراپت خارجی میخواستم
            با تشکر

            دیدگاه


              #51
              پاسخ : نمونه کدهایی برای XMEGA

              نوشته اصلی توسط شهریار رجب زاده
              یه نمونه کد از اینتراپت خارجی میخواستم
              در AVR1313 نمونه کدی برای این منظور وجود دارد (تابع ()Example4).

              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه


                #52
                پاسخ : نمونه کدهایی برای XMEGA

                برنامه کلید تبدیل بوسیله وقفه خارجی:
                PE0:LED
                PC1:pull down+switch
                PC2:pull up+switch
                کد:
                #include<ioavr.h>
                #include<stdio.h>
                #include<intrinsics.h>
                int main(void){
                 PMIC_CTRL=0X01;
                 PORTC_DIR=0X01;
                 PORTC_INTCTRL=0X01;
                 PORTC_INT0MASK=0X06;
                 PORTC_PIN1CTRL=0X01;
                 PORTC_PIN2CTRL=0X02;
                 __enable_interrupt();
                 while(1)
                 {}
                 return 0;
                }
                 #pragma vector= PORTC_INT0_vect
                  
                  __interrupt void PORTC_INT0(void)
                   {PORTC_OUTTGL=0x01;   
                   }
                نوشته اصلی توسط NAO_ROBOT
                سلام

                اولا تشکر می کنم از تمام دوستان و مهندس کی نژاد.

                دوما نمی دونم چرا xmega مثل سری mega تو ایران جا نمیفته،بنده با وجود اینکه arm هم کار می کنم ولی ارادت ویژه ای به سری xmega دارم

                سوما نبود یک برد اموزشی کامل آدمو سرد میکنه(مثلا سرهم بندی قطعات با سیم برد بردی،البته این مورد به مرور زمان قابل حله)
                xmega به این آسونی ها نیست که همه بفهمند+همشون SMD هستند+پروگرامر معروف و ارزون ندارند+همه جا پیدا نمیشه(مثلا تو اصفهان یه جا داره)
                این زمان میخواد و تبلیغ و منابع آموزشی تا جا بیفته

                دیدگاه


                  #53
                  پاسخ : نمونه کدهایی برای XMEGA

                  با سلام

                  اینم راه اندازی RTC داخلی میکرو با استفاده از کتابخانه های کامل atmel و تست اون روی 7SEGMENT CATHODE به صورت کانتر.

                  دانلود:
                  http://up.iranblog.com/images/umrb8d1cc7n925qc4z5l.rar

                  دکتر شريعتي:

                  زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                  دیدگاه


                    #54
                    پاسخ : نمونه کدهایی برای XMEGA

                    سلام.

                    اینهم یک فایل دیگه راجع به راه اندازی RTC داخلی ATXMEGA 128A1 هست که با کتابخانه های اماده ATMEL و RTOS(UC/GUI راه اندازی شده که یک ساعت(زمان شمار) سادست،هدف از ارائه این مثال اشنائی با RTC,UC/GUI می باشد که خودتان می توانید با اضافه کردن یک سری توابع دیگر یک ساعت با تاریخ و.... کامل بسازید،واین برنامه صرفا یک مثال ساده از توابع کتابخانه های ذکر شده در بالاست.

                    دانلود:

                    http://www.persiangig.com/pages/download/?dl=http://elecman.persiangig.com/rtc.rar

                    دکتر شريعتي:

                    زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                    دیدگاه


                      #55
                      پاسخ : نمونه کدهایی برای XMEGA

                      سلام.

                      دوستان اینجانب کدی برای راه اندازی servo motor تهیه کرده ام ولی چون در حال حاضر به سروو دسترسی ندارم گفتم سورس رو اینجا بذارم تا به صورت کلی بررسی بشه تا ببینیم ایرادی داره یا اصلا درسته.

                      توضیهات:
                      1-یک پالس مربعی روی پایه مورد نظر برای راه اندازی سروو ایجاد می شود که به این صورت است(به مدت 20ms پالس در سطح low(صفر) و 1ms پالس در سطح high(یک) می باشد که این طریق برای راه ندازی سروو هائی با زاویه 90و... مناسب می باشد
                      2-البته توضیهات تا حدودی داخل سورس و روبروی هر خط موجود می باشد.

                      بررسی:
                      1-بررسی اینکه سورس اصله درسته یا کامله
                      2-بررسی زمان ایجاد شده توسط تایمر (20ms,1ms)

                      دانلود سورس:
                      http://up.iranblog.com/images/b3qv2kop7xn0fmmrrfj.zip

                      دکتر شريعتي:

                      زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                      دیدگاه


                        #56
                        پاسخ : نمونه کدهایی برای XMEGA

                        سورس مورد نظر در یک بررسی اجمالی دارای اشکالاتی است که بزرگترین آن عدم استفاده از مد PWM و استفاده از 3 تایمر برای ساخت یک خروجی است. آیا هدف تنها ساخت یک پالس با پریود 20 میلی ثانیه و زمان high مشخص است؟
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه


                          #57
                          پاسخ : نمونه کدهایی برای XMEGA

                          با سلام.
                          بله ،در این سورس از مدpwm استفاده نشده که در صورت استفاده از ان کار راحتر بود و تکلیف مشخص.
                          به نظر من تنها ویژگی این سورس مانند نرم افزار bascom قابلیت وصل سروو به هر کدام از پایه های دلخواه میکرو و امکان تنظیم زمان روشن بودن و reload باشد(البته اگه تحلیلم از سورس درست باشه)
                          دکتر شريعتي:

                          زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                          دیدگاه


                            #58
                            پاسخ : نمونه کدهایی برای XMEGA

                            برای تولید PWM نرم افزاری هم یک تایمر کفایت می کند و کافی است در هر وقفه، به ترتیب زمان های ON و OFF را در مقدار مناسب قرار دهید و مقدار پورت را toggle کنید.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


                              #59
                              پاسخ : نمونه کدهایی برای XMEGA

                              سلام

                              مهندس دلیل استفاده از 3 تایمر به خاطره اینه که بتونیم چندین سروو متفاوت را به میکرو وصل کنیم که در مثال سورس 2 سروو استفاده شده،که اگر بخواهیم مثلا 2 موتور سروو با مشخصات و کارکرد یکسان به میکرو وصل نمائیم ،یک تایمر هم کافی است.

                              با این حساب فکر میکنم سورس مورد نظر مشکل چندانی نداشته باشه اگه دوستان هم یه نظری به سورس بکنن خوب میشه.
                              دکتر شريعتي:

                              زنده بودن را به بيداري بگذرانيم که سالها به اجبار خواهيم خفت.

                              دیدگاه


                                #60
                                پاسخ : نمونه کدهایی برای XMEGA

                                نوشته اصلی توسط NAO_ROBOT
                                مهندس دلیل استفاده از 3 تایمر به خاطره اینه که بتونیم چندین سروو متفاوت را به میکرو وصل کنیم
                                با یک تایمر می توان برای N موتور duty cycle های مختلف ایجاد کرد. فرض کنید اگر پریود PWM مورد نظر برای همه موتورها 20 میلی ثانیه باشد، شما می توانید یک وقفه 0.2 میلی ثانیه ایجاد کنید و در اولین وقفه تمام موتور ها را روشن کنید و در وقفه های بعدی بستگی به اینکه هر موتور دارای چه زمانی برای ON باشد، موتور مربوطه را خاموش کنید و با این روش از Duty cycle یک تا 100 درصد با دقت 1 درصد برای چندین موتور قابل پیاده سازی است.
                                اوژن: به معنای افکننده و شکست دهنده است
                                دانایی، توانایی است-Knowledge is POWER
                                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                                دیدگاه

                                لطفا صبر کنید...
                                X