اطلاعیه

Collapse
No announcement yet.

ADC در XMEGA و حداکثر سرعت نمونه برداری

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

    ADC در XMEGA و حداکثر سرعت نمونه برداری

    بخش ADC یکی از مفصل ترین و پیچیده ترین بخش های XMEGA است که در حین اینکه از نقاط قوت این خانواده محسوب می شود، دارای نکات و چالش های فراوانی است که رسیدن به حداکثر ظرفیت بهره برداری از آن را با مشکلاتی روبرو می کند. با وجود آنکه application note مربوط به این بخش در ماه اکتبر 2010 به روز شده، اما علاوه بر اشتباهاتی که در آن وجود دارد (که در تاپیک "مکاتبات Atmel درباره XMEGA" به برخی از آن ها اشاره شد) دارای نکات مبهمی است که حتی در سطح جهانی و انجمنی مانند AVRFreaks هم پاسخ درستی برای آن وجود ندارد. از جمله این نکات مبهم، چگونگی رسیدن به ظرفیت 2 میلیون نمونه برداری در ثانیه است که با مطالعه اطلاعات این خانواده، موارد متناقضی به چشم می خورد که بر مبنای آن رسیدن به این ظرفیت با هاله ای از ابهام روبرو می شود. بر همین اساس اخیرا آزمایش های بسیار مهمی را برای بر طرف شدن این ابهامات انجام داده ام که قصد دارم نتیجه آن را بصورت همزمان در این انجمن و AVRFreaks منتشر کنم تا راه برای استفاده از این ظرفیت توسط علاقه مندان هموار شود. به عنوان مقدمه و تا قبل از تکمیل نتایج آزمایش ها به دوستان توصیه می شود تاپیک زیر را در انجمن AVRFreaks مطالعه کنند و مشاهده کنند که پاسخ درستی برای بسیاری از سوالات وجود ندارد و این مسئله که هنوز برای ما این فرصت وجود دارد که بتوانیم حداقل در مورد XMEGA با دانش روز و یا حتی جلوتر از آن حرکت کنیم:

    http://www.avrfreaks.net/index.php?n...;postorder=asc

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

    #2
    پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

    در توضیح بیشتر پست قبل می توان به این نکته اشاره کرد که با مطالعه اطلاعات این خانواده، رسیدن به سرعت 2 میلیون نمونه در ثانیه برای مد Single Conversion به هیچ عنوان مطرح نیست و از روی شکل هایی که در XMEGA A manual رسم شده (شکل 18-25) می توان به این نتیجه رسید که چنین امری فقط در مد Free running میسر است و این مطلب در تاپیک AVRFreaks هم مطرح شده بود. از روی شکل اینگونه برداشت می شود که چنین سرعت تبدیلی در شرایطی میسر است که هر 4 کانال ADC فعال باشند و در اینصورت سرعت تبدیل برای هر یک کانال 500 هزار نمونه در ثانیه خواهد بود. هیچگونه توضیحی هم داده نشده که اگر فقط یک کانال فعال باشد، آیا سرعت تبدیل به چه صورت خواهد بود و حدس بر همان عدد 500000 نمونه بود.
    اما برای پی بردن به واقعیت مسئله چند آزمایش بسیار مفید را انجام دادم تا بر اساس آن بتوان به سرعت تبدیل دست پیدا کرد. در آزمایش اول وقفه Single conversion فعال شد و در روتین وقفه یکی از پین های میکروکنترلر Toggle گردید. مطابق انتظار در این حالت 7 کلاک ADC لازم است تا تبدیل انجام شود و با احتساب یک کلاک برای ایجاد وقفه، هر تغییر سطح پین خروجی در زمانی 8 برابر نسبت به پریود تبدیل ADC انجام می شود. حداکثر سرعت تبدیل برای هر کانال در این شرایط 250 هزار نمونه در ثانیه خواهد بود( با دقت 12 بیت و بدون بهره داخلی).
    اما در مد Free running هم آزمایش هایی انجام شد که به نتیجه جالبی منجر شد. در مرحله اول به ازای کلاک 32 مگاهرتز برای CPU و کلاک 2 مگاهرتز برای ADC به دلیل تعداد وقفه های بسیار بالا، شکل موجی تولید شد که فرکانس آن وابسته با نوع optimization در IAR بود. به عبارت دیگر در این حالت CPU به قدری تحت load قرار می گیرد که تا یک وقفه بخواهد اجرا شود، وقفه بعدی درخواست می شود و بنابراین CPU فرصت اداره تمام وقفه ها را در زمان خود نخواهد داشت. برای غلبه بر این وضعیت از یک قابلیت بسیار پیشرفته XMEGA استفاده شد، به این ترتیب که با حذف وقفه و ارتباط خروجی ADC به پین PC7 از طریق Event system، در نهایت مشاهده شد که شکل موجی با فرکانس 2 مگاهرتز روی خروجی پین ظاهر می شود و این بدان معنی است که سری XMEGA A قابلیت تبدیل 2 میلیون نمون در ثانیه را در مد Free running حتی برای یک کانال ADC دارا می باشد.
    در پست دیگری نمونه کد مربوط به انجام این عملیات را در انجمن قرار خواهم داد.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

      نمونه کدی که روی PC7 فرکانسی معادل سرعت تبدیل ADC را با استفاده از Event system ظاهر می کند(2 مگاهرتز). فایل های adc_driver.c و adc_driver.h در پروژه AVR1300 در سایت Atmel موجود است و باید به پروژه اضافه شود.

      // Signed - single ended - Free Runnng - 12 bit - ADCB.CH0=PB0
      // clkPER = 32 MHz , XTAL = 4 MHz , PLL = x 8
      // clkADC=clkPER / 16

      #include "avr_compiler.h"
      #include "adc_driver.h"

      void main(void)
      {
      OSC_XOSCCTRL=OSC_FRQRANGE_2TO9_gc|OSC_XOSCSEL_XTAL _16KCLK_gc;
      OSC_CTRL|=OSC_XOSCEN_bm;
      while(!(OSC_STATUS &OSC_XOSCRDY_bm ));
      OSC_PLLCTRL=OSC_PLLSRC_XOSC_gc|8;
      OSC_CTRL|=OSC_PLLEN_bm;
      while(!(OSC_STATUS &OSC_PLLRDY_bm ));
      CCP=CCP_IOREG_gc;
      CLK_CTRL=CLK_SCLKSEL_PLL_gc;

      ADC_CalibrationValues_Load(&ADCB);
      ADC_ConvMode_and_Resolution_Config(&ADCB, ADC_ConvMode_Signed, ADC_RESOLUTION_12BIT_gc);
      ADC_Prescaler_Config(&ADCB, ADC_PRESCALER_DIV16_gc);
      ADC_Reference_Config(&ADCB, ADC_REFSEL_VCC_gc);
      ADC_Ch_InputMode_and_Gain_Config(&ADCB.CH0,ADC _CH_INPUTMODE_SINGLEENDED_gc,ADC_DRIVER_CH_GAIN_NO NE);
      ADC_Ch_InputMux_Config(&ADCB.CH0, ADC_CH_MUXPOS_PIN0_gc, 0);
      ADC_FreeRunning_Enable(&ADCB);
      ADC_Enable(&ADCB);
      ADC_Wait_32MHz(&ADCB);
      EVSYS_CH0MUX=EVSYS_CHMUX_ADCB_CH0_gc;
      PORTCFG_CLKEVOUT=PORTCFG_EVOUT_PC7_gc;
      PORTC_DIR=PIN7_bm;
      ADC_Ch_Conversion_Start(&ADCB.CH0);
      while(1);
      }
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        #4
        پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

        سلام .آیا راهی برای این مورد که ولتاژ مرجع ADC بیشتر از VCC-0.6 نمیتونه باشه ، وجود داره؟ یعنی بتونیم بدون اینکه ولتاژ ورودی ADC رو تضعیف کنیم اون رو تا 3.3 ولت بخونیم؟

        دیدگاه


          #5
          پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

          سلا مجدد.
          آقا من میخوام یه صفحه تاچ 240 در 128 رو که قبلا با mega128 راه ندازی کرده بودم با xmega64a1 راه بندازم. اما بدلیل اینکه ولتاژ ورودی ADC نمیتونه بیشتر از vcc-0.6 باشه ، به مشکل خوردم. چون باید فرضا برای خوندن موقعیت x یکی از پایه ها رو vcc کنی و از adc بخونی. حالا چون vcc برابر 3.3 ولت هست ، نیمتونم بخونم چئن بیشتر از 2.7 که میشه VCC-0.6 مقدار خونده شده توسط adc تو حالت 8 بیتی برابر 255 میشه .
          من یه ولتاژ 2.7 ولت ساختم و خواستم اون رو به AVCC , AREF وصل کنم . اما گویا پایه AVCC از داخل به VCC وصل هست و عملا نقش هویج رو ایفا میکنه . میخواستم AVCC رو 2.7 بدم و از خروجی پورت A استفاده کنم .
          من فکر میکردم که هر کدوم از پورتها برای خودشون تغذیه دارن ، اما مثل اینکه همشون به هم وصل هستن.

          حالا کسی میتونه برای تاچ اسکرین کمکم کنه . میتونید برای اطلاع از نحوه راه اندازی تاچ این لینک رو ببینید :
          www.atmel.com/dyn/resources/prod_documents/doc8091.pdf
          توش یه جدول داره که طبق اون میتونین براحتی تاچ رو راه اندازی کنین.

          دیدگاه


            #6
            پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

            نوشته اصلی توسط DrOnDm
            من یه ولتاژ 2.7 ولت ساختم و خواستم اون رو به AVCC , AREF وصل کنم . اما گویا پایه AVCC از داخل به VCC وصل هست
            AREFA و AREFB در صورت انجام تنظیمات به خوبی عمل می کنند. اما با توجه به صورت مسئله شما و اینکه خروجی پورت تا 3.3 ولت افزایش می یابد، وجود 2.7 ولت برای ولتاژ مرجع چه مشکلی را حل خواهد کرد؟ یکی از روش هایی که ممکن است بتوان برای حل مشکل شما از آن استفاده کرد، استفاده از پایه هایی است DAC و ADC بصورت توام در آن وجود دارند و در حالت خروجی از طریق DAC می توان هر ولتاژ دلخواه را تولید کرد. استفاده از PWM و فیلتر برای تولید ولتاژ آنالوگ مورد نظر هم پیشنهاد دیگری است که جای کار دارد و با رعایت جوانب آن قابل پیاده سازی است.
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


              #7
              پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

              سلام جناب طراح . نمیدونم منو شناختین یا نه :eek:
              کامپایلر IAR و رم های سازگار با سری A1 ... :read:
              یه سوال vcc , gnd رو هر پورت به صورت مجزا برای چیه؟ چرا از داخل به هم وصل هستن ؟؟؟
              تصور من این بود که میتونیم ولتاژ خروجی پایه ها رو خودمون تعیین کنیم البته با رعایت محدوده وقابل قبول. به همین دلیلم میخواستم تغذیه پورت R رو 2.7 بدم تا از دو پین اون به جای 3.3 مقدار 2.7 رو بگیرم و با ولتاژ رفرنس 2.7 adc کارم رو انجام بدم که ... :angry:
              ظاهرا تصور اینجانب باطل بود و همچین بحثی نبوده . در این حالت تنها موردی که به ذهم میرسه اینه که میخواسته تمام جریان
              مورد نیاز این 100 تا پین از 2 یا 3 تا پین وارد نشه و از 10 تا پین وارد بشه. درسته ؟؟؟

              دیدگاه


                #8
                پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

                نوشته اصلی توسط DrOnDm
                سلام جناب طراح . نمیدونم منو شناختین یا نه
                بله شما را شناختم. اما نام کاربری فارسی به نظر بیشتر برازنده شما بود.
                تعدد پایه های Vcc و GND در میکروکنترلرها بیشتر به دلیل معذورات نویز و پایداری است و به معنی مستقل بودن این مقادیر برای هر پورت نیست.
                برای صورت مسئله شما به غیر از استفاده از DAC یک راه حل دیگر هم قابل پیشنهاد است و آن انتخاب وضعیت Wierd AND و Pullup خارجی است که سر دیگر مقاومت بجای VCC به ولتاژی برابر با VREF متصل شود. در این روش سطح High خروجی بجای 3.3 به مقدار VREF محدود می شود. تنها مسئله ای که باید بررسی شود، اثر Loading مقاومت Pullup نسبت به مقاومت صفحه touch است.
                اوژن: به معنای افکننده و شکست دهنده است
                دانایی، توانایی است-Knowledge is POWER
                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                دیدگاه


                  #9
                  پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

                  نوشته اصلی توسط طراح
                  نمونه کدی که روی PC7 فرکانسی معادل سرعت تبدیل ADC را با استفاده از Event system ظاهر می کند(2 مگاهرتز). فایل های adc_driver.c و adc_driver.h در پروژه AVR1300 در سایت Atmel موجود است و باید به پروژه اضافه شود.
                  ببخشید . اگه فرکانس ADC رو روی 8 مگاهرتز تنظیم کنم ، چه مشکلی بوجود می آد؟ آیا ممکنه ADC درست کار نکنه؟
                  در ضمن من وقفه Convertion ADC رو برای چهار تا کانال ADCA فعال کردم . توی یه حلقه اومدم و Convertion هر چهار تا رو به ترتیب شروع کردم و در نهایت ته حلقه یه تاخیر 2 میکرو ثانیه ای گذاشتم . توی وقفه هر کانال هم یه پایه رو Togel کردم . ولی چیزی که روی اسکوپ دیدم خیلی مسخره بود . اصلا یه سسیگنال غیر پریودیکه که هر وقت میخواست 0 و 1 میشد . این ینی اینکه اصلا درست و حسابی تو وقفه نمیرفت . کلا قاطی داشت . میخوام بدونم مشکل از کجاست؟
                  يا حق

                  دیدگاه


                    #10
                    پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

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

                    دیدگاه


                      #11
                      پاسخ : پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

                      نوشته اصلی توسط طراح
                      کلاک مجاز برای ADC حداکثر 2 مگاهرتز است و ضمنا کلاک cpu باید حداقل 4 برابر این عدد باشد ( 8 مگاهرتز به بالا). بنابراین کلاک 8 مگاهرتز به هیچ وجه برای عملکرد ADC از طرف کارخانه سازنده گارانتی نشده است و به احتمال زیاد ADC در چنین کلاکی به هیچ عنوان عمل نخواهد کرد. در مورد بقیه سوال هم اگر در همین کلاک بوده که درست عمل نکردن آن می تواند طبیعی باشد و در غیر اینصورت لازم است نمونه کد مربوطه را قرار دهید.
                      خیلی خیلی ممنون از جوابتون

                      فقط یه سوال دیگه داشتم اینکه چه طور با کلاک 2 مگا هرتز میتونه به همچین سرعت نمونه برداری ای (2 مگا سمپل) برسه؟ آخه معمولا ADC ها چن ده تا سیکل طول میکشن تا Convertion کامل بشه .

                      من از ADC با کلاک 8 مگ جواب گرفتم ، ولی توی اون یه مورد که خدمتون نوشتم نمیدونم چرا اشتباه جواب میده . شاید به خاطر همون Over Load شدن سی پی یو باشه که توی پستای قبلیتون اشاره کردین .
                      بازم از لطف شما خیلی ممنونم .
                      يا حق

                      دیدگاه


                        #12
                        پاسخ : پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

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

                        دیدگاه


                          #13
                          پاسخ : پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

                          نوشته اصلی توسط طراح
                          کلاک مجاز برای ADC حداکثر 2 مگاهرتز است

                          بنابراین کلاک 8 مگاهرتز به هیچ وجه برای عملکرد ADC از طرف کارخانه سازنده گارانتی نشده است
                          مهندس ببخشید دقیقا این مساله کجا نوشته شده ؟ چون من هر چقدر جست و جو کردم نتونستم پیدا کنم .
                          يا حق

                          دیدگاه


                            #14
                            پاسخ : پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

                            نوشته اصلی توسط aligili
                            مهندس ببخشید دقیقا این مساله کجا نوشته شده ؟ چون من هر چقدر جست و جو کردم نتونستم پیدا کنم .

                            بالاخره پیدا کردم . توی doc8032 شرکت atmel صفحه 14



                            برم تست کنم ببینم نکنه ADC ش سوخته باشه . :sad:
                            يا حق

                            دیدگاه


                              #15
                              پاسخ : ADC در XMEGA و حداکثر سرعت نمونه برداری

                              نوشته اصلی توسط طراح
                              نمونه کدی که روی PC7 فرکانسی معادل سرعت تبدیل ADC را با استفاده از Event system ظاهر می کند(2 مگاهرتز). فایل های adc_driver.c و adc_driver.h در پروژه AVR1300 در سایت Atmel موجود است و باید به پروژه اضافه شود.

                              // Signed - single ended - Free Runnng - 12 bit - ADCB.CH0=PB0
                              // clkPER = 32 MHz , XTAL = 4 MHz , PLL = x 8
                              // clkADC=clkPER / 16

                              #include "avr_compiler.h"
                              #include "adc_driver.h"

                              void main(void)
                              {
                              OSC_XOSCCTRL=OSC_FRQRANGE_2TO9_gc|OSC_XOSCSEL_XTAL _16KCLK_gc;
                              OSC_CTRL|=OSC_XOSCEN_bm;
                              while(!(OSC_STATUS &OSC_XOSCRDY_bm ));
                              OSC_PLLCTRL=OSC_PLLSRC_XOSC_gc|8;
                              OSC_CTRL|=OSC_PLLEN_bm;
                              while(!(OSC_STATUS &OSC_PLLRDY_bm ));
                              CCP=CCP_IOREG_gc;
                              CLK_CTRL=CLK_SCLKSEL_PLL_gc;

                              ADC_CalibrationValues_Load(&ADCB);
                              ADC_ConvMode_and_Resolution_Config(&ADCB, ADC_ConvMode_Signed, ADC_RESOLUTION_12BIT_gc);
                              ADC_Prescaler_Config(&ADCB, ADC_PRESCALER_DIV16_gc);
                              ADC_Reference_Config(&ADCB, ADC_REFSEL_VCC_gc);
                              ADC_Ch_InputMode_and_Gain_Config(&ADCB.CH0,ADC _CH_INPUTMODE_SINGLEENDED_gc,ADC_DRIVER_CH_GAIN_NO NE);
                              ADC_Ch_InputMux_Config(&ADCB.CH0, ADC_CH_MUXPOS_PIN0_gc, 0);
                              ADC_FreeRunning_Enable(&ADCB);
                              ADC_Enable(&ADCB);
                              ADC_Wait_32MHz(&ADCB);
                              EVSYS_CH0MUX=EVSYS_CHMUX_ADCB_CH0_gc;
                              PORTCFG_CLKEVOUT=PORTCFG_EVOUT_PC7_gc;
                              PORTC_DIR=PIN7_bm;
                              ADC_Ch_Conversion_Start(&ADCB.CH0);
                              while(1);
                              }
                              با سلام و تشکر
                              این برنامه در چه کامپایلری نوشته شده است؟

                              دیدگاه

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