اطلاعیه

Collapse
No announcement yet.

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

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

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

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

    1-فانکشن ژنراتور:
    http://www.frankvh.com/dds-signal-generator.html

    2-Audioplayer با xmega و نصب شده روی تلفن:
    http://www.hackvandedam.nl/blog/?p=151
    دکتر شریعتی:

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

    دیدگاه


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

      راه اندازی ادوات جانبی میکرو
      http://s2.picofile.com/file/7150413759/xmega_final_project.rar.html
      کامپیلر iar می باشد

      راه اندازی ks0108,usart ,twi ,timer

      دیدگاه


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

        بنده هم با کتابخانه lcd کاراکتری اقای کی نژاد همین مشکل اقای رجب زاده را داشتم، ولی متوجه شدم این مشکل با اضافه کردن خط:
        #define LCD_BUSY_CHECK
        به برنامه که کامنت (//) شده بود درست میشود. با اجازه اقای کی نژاد کتابخانه را تغییراتی دادم تا کمی ملموس تر شود( شبیه به کد ویژن خودمون!).
        کتابخانه های مورد نیازشم اضافه کردم.
        http://www.persiangig.com/pages/download/?dl=http://altium.persiangig.com/Char%20LCD.rar
        بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
        موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
        نلسون ماندلا

        دیدگاه


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

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

          دیدگاه


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

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

            Error[e46]: Undefined external "f_putc" referred in main ( D:\iar\gps\Debug\Obj\main.r90 )
            Error while running Linker

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

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

            دیدگاه


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

              برای استفاده از توابع کار با String در فایل ffconf.h بجای خط زیر

              #define _USE_STRFUNC 0


              قرار دهید:

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

              دیدگاه


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

                هر کاری میکنم نمیتونم از تابع f_write برای ذخیره اطلاعات روی فایل txt استفاده کنم.
                برنامه به شکل زیر هست:
                کد:
                void main()
                {
                 FATFS *fs;
                 FIL *file;
                 unsigned int b1=0,b2=0;
                 char temp[]="elec dooset daram";
                 lcd_init();
                 PMIC_CTRL=0X01;
                 __enable_interrupt();
                 f_mount(0,fs);
                  f_open(file,"SALAM.txt",FA_CREATE_ALWAYS);
                  f_write(file,temp,strlen(temp),&b1);
                
                  f_close(file);
                 while(1);
                }

                برنامه تو همون خط رایت گیر میکنه.
                ممنون میشم راهنمایی کنید.
                بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
                نلسون ماندلا

                دیدگاه


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

                  خط زیر را امتحان کنید:

                  کد:
                  f_open(file,"SALAM.txt",FA_CREATE_ALWAYS| FA_WRITE);
                  اوژن: به معنای افکننده و شکست دهنده است
                  دانایی، توانایی است-Knowledge is POWER
                  برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                  وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                  قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                  اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                  ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                  دیدگاه


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

                    با سلامه همه
                    امروز پروژه دوم اقای نحوی رو روی برد خودم مچ کردم
                    و صوتی از خروجی شنیدم.
                    چند نکته و سوالی برام پیش اومد
                    1.dac0 در هر صورتی کار نکرد و مجبور شدم از dac1 خروجی بگیرم ایا فیوزبیتی یا تنظیماته خاصی دارد یا ممکنه چیپ من اسیب دیده باشد
                    2.درون دیتا شیت تفاوت هایی بین dac0 و dac1 خروجی قرار داده بود (چیزی شبیه سیگنال بزرگ و کوچک)
                    3.اقای نحوی فایل 16 بیت درون کامپیوتر به 12 بیت تبدیل کرده بودند یعنی 4 بیت اول رو صفر کرده و 12 بیت باقیمانده رو نتیجه تقسیم کل 16 بیت قرار داده بود
                    حالا سوال برام پیش اومد چرا اینکارو تو میکرو انجام ندادند
                    من به شخصه فایل 16 بیت رو خوندم و در هنگام نوشتن برروی adc1 تقسیمه 16 انجام دادم(نویز شدیدی وجود داشت ولی در اعماق صدا صوت اصلی بود)
                    و همینطور برای یک فایل 8 بیت :اینبار خروجی dac رو در 16 ضرب کردم (اینبار هم صوت بود اما اعوجاج زیادی وجود داشت)
                    خب حالا سوال برام شده چطور این قضیه رو درون خود میکرو با اعوجاج کم انجام بدم و یا دلیله این اعوجاج بالا چیه؟
                    4.حالا اگه بخوام خروجی از تایمر بگیریم با توجه به 16 بیتی بودن تایمر جای مشکلی نباید باشه جز کد جهت خروجی pwm از یک خروجی تایمر؟
                    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
                    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
                    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

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

                    دیدگاه


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

                      کد زیر رو برای تایمر استفاده کردم ولی اصلا جالب نبود و بیشتر شبیه جیغ بود

                      کد:
                        PORTE.DIR = 0x01;
                        TC_SetPeriod( &TCE0, 0xFFFF );
                        TC0_ConfigWGM( &TCE0, TC_WGMODE_SS_gc );
                        TC0_EnableCCChannels( &TCE0, TC0_CCAEN_bm );
                        TC0_ConfigClockSource( &TCE0, TC_CLKSEL_DIV1_gc );

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

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

                      دیدگاه


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

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

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

                        دیدگاه


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

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

                          دیدگاه


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

                            با سلام جناب کی نژاد.
                            یک سوال در مورد کتابخانه FAT داشتم و این بود که در تمامی سورس های موجود در پوشه پروژه بنده تابع disk_timerproc را ندیدیم. پس چطوری هست که زمان و تاریخ به فایل اضافه میشه؟
                            ممنون.
                            بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                            موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
                            نلسون ماندلا

                            دیدگاه


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

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

                              دیدگاه


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

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

                                نوشته اصلی توسط شهریار رجب زاده
                                سلام میشه بگید برای استفاده از سنسور دمای داخلی دقیقا باید چه کاری انجام داد؟
                                حدودا الگوریتمش رو بگید من گیج شدم
                                ممنون
                                نمونه کد استفاده از سنسور دمای داخلی در این صفحه قرار داده شده است:

                                http://knowledgeplus.ir/electronics/XMEGA.aspx?lang=Fa
                                اوژن: به معنای افکننده و شکست دهنده است
                                دانایی، توانایی است-Knowledge is POWER
                                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                                دیدگاه

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