اطلاعیه

Collapse
No announcement yet.

آموزش XMEGA به زبان ساده تحت کامپایلر IAR

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    آموزش XMEGA به زبان ساده تحت کامپایلر IAR

    با سلام :smile:
    این یه آموزشه راحته که برای همه قابل استفادست چون بیشتر روی رجیستر های میکرو کار شده تا کامپایلر
    خلاصه هدفم این بوده که یه آموزشه ساده و خوب درست کنم تا همسن هام هم سردر بیارن



    قسمت اول:کار با پورت های I/O و وقفه های خارجی ویرایش 1.2
    قسمت دوم:کار با وقفه ها و کنترل کننده چند سطحی وقفه قابل برنامه ریزی ویرایش 1.0


    توابع کار با lcd در مد 8 سیمه
    اگر ایرادی داخل آموزش پیدا کردید یا در مورد بخشی سوال داشتید که توی آموزش نبود بگید
    پیشنهاد دیگری هم داشتید بگید خوشحال میشم نظراتتون رو بشنوم
    در صورت وجود اشکال در آموزش اون رو دوباره ویرایش میکنم و میتونید از عدد روبروی موضوع بفهمید که ویرایش جدید شده یا نه
    اگر خدا خواست بخش بعدی تایمره با RTC هاش
    با تشکر
    [hr]
    با عرض معذرت متاسفانه به دلیل درس و کنکور نمیتونم این آموزش ها رو ادامه بدم از اینکه اینهمه وقت معطلتون کردم عذر میخوام
    فایل های پیوست شده

    #2
    پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

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

    دیدگاه


      #3
      پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

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

      دیدگاه


        #4
        پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

        اینم قسمت دوم آموزش ها که براتون میزارم ببخشید دیر شد آخه یه قسمتیش حسابی سر کارم گذاشت
        در این قسمت یاد دادم چجوری اولویت و سطح و همه چیز وقفه رو عوض کنید
        هر چی میرم جلو کار سخت تر میشه و میبینم که اصلا این هیچ ربطی به AVR نداره و خیلی میکروی قوی ای هستش این میکرو شوخی بردار نیست
        یه چیز دیگه استقبال خیلی پایینه فقط 130 مشاهده!!!70 بار دانلود و ... کس دیگه ای هم ازش ایراد نگرفته اینجوری یه مقدار سرعتم میاد پایین چون علاقه مندان کم هستند
        بخش بعدی تایمر و RTC از اینجور چیز هاست
        اگه استقبال زیاد بشه انشاالله یه پروژه پایانی خوب میزارم در حد کامپیوتر!

        دیدگاه


          #5
          پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

          ولله تا یه پروگرامر 4 الی 5 تومنی برای XMega در نیاد خیلی حسش نیست دنبالش بریم. گرچه وقتی این مورد وسط میاد من یکی حال روشن کردن TNM2000 رو هم ندارم. از طرف دیگه کلی سال به 5 ولتی عادت کردیم. حالا برم سراغ آی سی یی که 5 ولت رو تحمل نمیکنه؟ ولی شما زحمتتون رو بکشین. دستتون هم درد نکنه. بالاخره برای یادگیری خوبه. اگه مغزی مونده باشه. ایراد و انتقاد هم طلبتون. انشالله بعد از اینکه تمومش کردین یکی پیدا میشه مرتبش کنه و به اسم خودش بیرون بده و بعدش هم بهتون ایراد بگیره که چرا از روی دستش کپ زدین!!

          ضمنا من این تاپیک رو همین امروز دیدم. اگر وقتش نشد به کارتون ایراد بگیرم میبخشین! :mrgreen:

          نکته انحرافی:
          تاپیکی که پست زیاد داشته باشه ولو چرت و پرت؛ بالا میمونه و روبروی چشمها. ولی اونی که کار زیادی روش انجام بشه و دیر به دیر پدیت بشه خیلی بالا نمیاد. ای داد از این دنیا.

          دیدگاه


            #6
            پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

            من از دور مواضبت(مشدی) هستم نگران نباش :mrgreen:
            فقط مثال از interupt بیشتر بزن
            در ضمن یک سوال در کدویژن 3 نوع اولویت اینتراپت رو فعال میشه کرد و هر کدوم از اینتراپت هارو میشه اولویت خاص خودشو داد کم متوسط بالا
            این تو این کامپایلر به چه صورته

            فقط یه پیشنهاد
            اگه بتونی از کتابخونه های اتمل استفاده کنی عالی خیلی بهتره
            چون هم راحتتره و هم کدنویسی راحت تر میشه
            هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
            بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
            میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

            تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

            دیدگاه


              #7
              پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

              نوشته اصلی توسط n340
              من از دور مواضبت(مشدی) هستم نگران نباش :mrgreen:
              فقط مثال از interupt بیشتر بزن
              در ضمن یک سوال در کدویژن 3 نوع اولویت اینتراپت رو فعال میشه کرد و هر کدوم از اینتراپت هارو میشه اولویت خاص خودشو داد کم متوسط بالا
              این تو این کامپایلر به چه صورته

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

              دیدگاه


                #8
                پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

                خیلی عالی بود شهریار جان امیدوارم این آموزشها تداوم پیدا کنه

                دیدگاه


                  #9
                  پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

                  اره کار با توابع خیلی خوبه
                  ولی اگه همه از یکسری توابع استاندارد و یا جامع استفاده کنیم فکر می کنم بهتره
                  در کل خوانایی بیشتری ایجاد میشه
                  در ضمن به نظر من سراغ کلاس ها نریم بهتره
                  چون یه وقت خواستیم کامپایلر جابجا کنیم اصلا جالب نمیشه
                  حیف یکم سرم شلوغه
                  البته پروژه نسبتا شلوغ و سنگین با xmega دارم
                  انشا ا... قسمتی از کد رو اینجا میزارم
                  هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
                  بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
                  میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

                  تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

                  دیدگاه


                    #10
                    پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

                    من هم میخوام با Xmega شروع کنم. تجربه کار با 8051 و PIC و AVR رو هم با زبون C دارم. اگه مبنای آموزشیتون بر اساس یکی از چیپ های مهم این خانواده باشه (مثل 89C51 برای 8051 و 16F877 برای PIC و mega128 برای AVR)
                    و تحت یه کامپیالر خوب دیگه عالی میشه

                    دیدگاه


                      #11
                      پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

                      نوشته اصلی توسط mojalan
                      من هم میخوام با Xmega شروع کنم. تجربه کار با 8051 و PIC و AVR رو هم با زبون C دارم. اگه مبنای آموزشیتون بر اساس یکی از چیپ های مهم این خانواده باشه (مثل 89C51 برای 8051 و 16F877 برای PIC و mega128 برای AVR)
                      و تحت یه کامپیالر خوب دیگه عالی میشه
                      آموزش ها بر اساس خانواده A میکروکنترلر های XMEGA هستش و فرقی بین IC هاش نمیکنه برنامه ها برای همشون جواب میده
                      من شخصا با XMEGA16A4 کار میکنم
                      [hr]
                      راستی این بخش تایمر خیییلی سخته هیچی ازش نمیفهمم یکم طول میکشه تا آموزش ها آماده بشه

                      دیدگاه


                        #12
                        پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

                        بالاخره اومدم تا تاپیک رو بیارم بالا :mrgreen:
                        از اونجایی که هیچی از این کابخونه های lcd نفهمیدم گفتم دست به کار بشم و توابعش رو بنویسم
                        متأسفانه به دلیل کامل نبودن اطلاعات من در زمینه هدر نویسی برای این کامپایلر و همچنین کار با پوینتر ها یک سری مشکلات هست که باید توی برنامه خودتون بر طرف کنید و اونهم اینه که توابع رو توی سورس کدتون کپی و طبق نمونه تغییرش بدید(قسمت تعریف پورت و پین های وصل شده به lcd) بقیش رو به حال خودش رها کنید و عدد رو دستی بفرستید(من هنوز نفهمیدم این توابع تبدیل اسکی کجا هستند)
                        بقیه توابع از نظر کارکرد مشکلی نداره و من تست کردم ولی نمیدونم برای lcd های بزرگتر از 2*16 چجوری عمل میکنه اگه میتونید تست کنید خبرش رو با پیغام خصوصی بفرستید
                        دلیل اینکه رفتم سراغ lcd هم این بود که برای کار با تایمر ها یک نمایش دهنده خوب میخوایم نه led

                        دیدگاه


                          #13
                          پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

                          سلام دوستان
                          این برنامه رقص نور کپی کردم توی IAR ولی زمان اجرا این ارور میده!

                          #include<ioavr.h>
                          #include<intrinsics.h>
                          int main(){
                          PORTF_DIR=0XFF;
                          while(1)
                          {
                          PORTF_OUT=0X55;
                          _delay_cycles(2000000);
                          PORTF_OUTTGL=0XFF;
                          _delay_cycles(2000000);
                          PORTF_OUTCLR=0XAA;
                          _delay_cycles(2000000);
                          PORTF_OUT=0X0F;
                          _delay_cycles(2000000);
                          PORTF_OUTSET=0XF0;
                          _delay_cycles(2000000);
                          PORTF_OUT=0;
                          _delay_cycles(2000000);
                          }
                          }


                          دیدگاه


                            #14
                            پاسخ : آموزش XMEGA به زبان ساده تحت کامپایلر IAR

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

                            دیدگاه

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