اطلاعیه

Collapse
No announcement yet.

اندازه گیری پهنای پالس بدون درگیری cpu

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

    اندازه گیری پهنای پالس بدون درگیری cpu

    سلام دوستان
    به غیر از وقفه ها روشی برای اندازه گیری سخت افزاری پهنای پالس (خروجی ریموت کنترلر های سرو )
    در نظر دارین ؟
    هدف این تاپیک اینه که بدون وقفه های مکرر و مشغول کردن پردازش گر پهنای پالسی رو سنجید
    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

    #2
    پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

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

    دیدگاه


      #3
      پاسخ : پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

      نوشته اصلی توسط طراح
      مد Pulse width capture در تایمر ها به منظور اندازه گیری پهنای پالس بصورت سخت افزاری قابل فعال کردن است.

      میشه یکم بیشتر در این مورد توضیح دهید؟

      دیدگاه


        #4
        پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

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

        Input capture:
         Input capture with noise cancelling
         Frequency capture
         Pulse width capture
         32-bit input capture

        XMEGA AU MANUAL.pdf
        صفحه 162
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه


          #5
          پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu


          توضیحی مختصر میتونید بدید؟ :agree:
          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

          دیدگاه


            #6
            پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

            برای فعال سازی و استفاده از مد Pulse width capture باید:

            1- ورودی را که پالس به آن اعمال می شود از نظر ایجاد وقفه و event در وضعیت هر دو لبه قرار داده شود (این وضعیت بصورت پیش فرض برای پین های هر پورت برقرار است).

            2- تغییرات این پین به عنوان منبع ایجاد event در یکی از کانال ها انتخاب شود.

            3- در تایمر مورد نظر، این کانال به عنوان Event source و عملیات Pulse width capture به عنوان Event action انتخاب شود.

            4- کانال مورد استفاده برای عملیات capture فعال شود و کلاک با prescaler مناسب به تایمر اعمال شود.

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

            دیدگاه


              #7
              پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

              ایا ترفندی برای محاسبه نیم سیکل دوم هست یعنی قبل از اینکه مقدار تایمر 0 شود
              این روش شاید با فعال کردن نات ورودی امکان پذیر باشد
              عرض لبه مثبت به راحتی قابل نمونه گیری میباشد ولی عرض منفی ؟ چهطور؟
              یا T فرکانس؟
              [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

              دیدگاه


                #8
                پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

                دیتا شیت
                Frequency capture of an external signal.
                در مقایسه با تایمر های سری مگا
                سری xmega غول به تمام معناست
                [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                دیدگاه


                  #9
                  پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

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

                  دیدگاه


                    #10
                    پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

                    قابلیت وقفه در capture وجود دارد ؟
                    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                    دیدگاه


                      #11
                      پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

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

                      دیدگاه


                        #12
                        پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

                        کد زیر برای Frequency capture نوشته شده ملی متاسفانه ریجیسترcapture و طریقه کانفیگ لیبل وقفه هنگام Frequency capture رو نتونستم پیا کنم
                        کد:
                        $regfile = "xm128A3def.dat"
                        $crystal = 32000000
                        $hwstack = 64
                        $swstack = 64
                        $framesize = 2048
                        
                        $lib "xmega.lib"
                        $external _xmegafix_clear
                        $external _xmegafix_rol_r1014
                        '--------------------------------------------------------------------
                        Config Osc = Enabled , 32mhzosc = Enabled , 32khzosc = Enabled
                        Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
                        'Config Interrupts
                        Config Priority = Static , Vector = Application , Lo = Enabled , Med = Enabled    'Enable Lo Level Interrupts
                        
                        Dim Timer_overflow As Word
                        dim b as Word
                        
                        Config Portf.2 = Input
                        Config Xpin = Pinf.2 , Outpull = Pulldown , Sense = Both  'enable Pullup and reaction on both edge
                        
                        
                        Config Event_system = Dummy , Mux0 = Portf.2 , Digflt0 = 8 'Eventchannel 0 = PINf.2, enable digital filtering
                        Config Tcc0 = Normal , Prescale = 1024 , Event_source = E0 , Event_action = Capture    ' Normal = no waveform generation, Event Source = Event Channel 0
                        
                        
                        On Tcc0_ovf Timerd0_int
                        
                        
                        Enable Tcc0_ovf , Lo                    'Enable overflow interrupt in LOW Priority
                        
                        
                        
                        Enable Interrupts
                        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                        دیدگاه


                          #13
                          پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

                          لیست وقفه های موجود در میکرو کنترلر xm128a3u به نقل از برنامه بیسکام و فایل هدر xm128A3def.dat

                          کد:
                          [INTLIST]
                          count=121
                          INTname1=OSCFAIL,$0002,OSC_XOSCFAIL.0,OSC_XOSCFAIL.1    ; XOSC Failure Detection Register
                          INTname2=PORTC_INT0,$0004,#PORTC_INTCTRL.0,PORTC_INTFLAGS.0
                          INTname3=PORTC_INT1,$0006,#PORTC_INTCTRL.2,PORTC_INTFLAGS.1
                          INTname4=PORTR_INT0,$0008,#PORTR_INTCTRL.0,PORTR_INTFLAGS.0
                          INTname5=PORTR_INT1,$000A,#PORTR_INTCTRL.2,PORTR_INTFLAGS.1
                          INTname6=DMA_CH0,$000C,#,DMA_CH0_CTRLB.0,DMA_CH0_CTRLB.4
                          INTname7=DMA_CH1,$000E,#,DMA_CH1_CTRLB.0,DMA_CH1_CTRLB.4
                          INTname8=DMA_CH2,$0010,#,DMA_CH2_CTRLB.0,DMA_CH2_CTRLB.4
                          INTname9=DMA_CH3,$0012,#,DMA_CH3_CTRLB.0,DMA_CH3_CTRLB.4
                          INTname10=RTC_OVF,$0014,#RTC_INTCTRL.0,RTC_INTFLAGS.0
                          INTname11=RTC_COMP,$0016,#RTC_INTCTRL.2,RTC_INTFLAGS.1
                          INTname12=TWIC_SLAVE,$0018,#TWIC_SLAVE_CTRLA.6,
                          INTname13=TWIC_MASTER,$001A,#TWIC_MASTER_CTRLA.6,
                          INTname14=TCC0_OVF,$001C,#TCC0_INTCTRLA.0,TCC0_INTFLAGS.0
                          INTname15=TCC0_ERR,$001E,#TCC0_INTCTRLA.2,TCC0_INTFLAGS.1
                          INTname16=TCC0_CCA,$0020,#TCC0_INTCTRLB.0,TCC0_INTFLAGS.4
                          INTname17=TCC0_CCB,$0022,#TCC0_INTCTRLB.2,TCC0_INTFLAGS.5
                          INTname18=TCC0_CCC,$0024,#TCC0_INTCTRLB.4,TCC0_INTFLAGS.6
                          INTname19=TCC0_CCD,$0026,#TCC0_INTCTRLB.6,TCC0_INTFLAGS.7
                          INTname20=TCC1_OVF,$0028,#TCC1_INTCTRLA.0,TCC1_INTFLAGS.0
                          INTname21=TCC1_ERR,$002A,#TCC1_INTCTRLA.2,TCC1_INTFLAGS.1
                          INTname22=TCC1_CCA,$002C,#TCC1_INTCTRLB.0,TCC1_INTFLAGS.4
                          INTname23=TCC1_CCB,$002E,#TCC1_INTCTRLB.2,TCC1_INTFLAGS.5
                          INTname24=SPIC_INT,$0030,#SPIC_INTCTRL.0,SPIC_STATUS.7
                          INTname25=USARTC0_RXC@URXC,$0032,#USARTC0_CTRLA.4,USARTC0_STATUS.7
                          INTname26=USARTC0_DRE@UDRE,$0034,#USARTC0_CTRLA.0,USARTC0_STATUS.5
                          INTname27=USARTC0_TXC,$0036,#USARTC0_CTRLA.2,USARTC0_STATUS.6
                          INTname28=USARTC1_RXC@URXC1,$0038,#USARTC1_CTRLA.4,USARTC1_STATUS.7
                          INTname29=USARTC1_DRE@UDRE1,$003A,#USARTC1_CTRLA.0,USARTC1_STATUS.5
                          INTname30=USARTC1_TXC,$003C,#USARTC1_CTRLA.2,USARTC1_STATUS.6
                          INTname31=AES_INT,$003E,#AES_INTCTRL.0,AES_STATUS.0
                          INTname32=NVM_EE,$0040,NVM_INTCTRL.0,
                          INTname33=NVM_SPM,$0042,NVM_INTCTRL.2,
                          INTname34=PORTB_INT0,$0044,#PORTB_INTCTRL.0,PORTB_INTFLAGS.0
                          INTname35=PORTB_INT1,$0046,#PORTB_INTCTRL.2,PORTB_INTFLAGS.1
                          INTname36=ACB_AC0,$0048,#ACB_AC0CTRL.4,ACB_STATUS.0
                          INTname37=ACB_AC1,$004A,#ACB_AC1CTRL.4,ACB_STATUS.1
                          INTname38=ACB_ACW,$004C,#ACB_WINCTRL.0,ACB_STATUS.2
                          INTname39=ADCB_CH0,$004E,ADCB_CH0_INTCTRL.0,ADCB_CH0_INTFLAG.0
                          INTname40=ADCB_CH1,$0050,ADCB_CH1_INTCTRL.0,ADCB_CH1_INTFLAG.0
                          INTname41=ADCB_CH2,$0052,ADCB_CH2_INTCTRL.0,ADCB_CH2_INTFLAG.0
                          INTname42=ADCB_CH3,$0054,ADCB_CH3_INTCTRL.0,ADCB_CH3_INTFLAG.0
                          INTname43=PORTE_INT0,$0056,#PORTE_INTCTRL.0,PORTE_INTFLAGS.0
                          INTname44=PORTE_INT1,$0058,#PORTE_INTCTRL.2,PORTE_INTFLAGS.1
                          INTname45=TWIE_SLAVE,$005A,#TWIE_SLAVE_CTRLA.6,
                          INTname46=TWIE_MASTER,$005C,#TWIE_MASTER_CTRLA.6,
                          INTname47=TCE0_OVF,$005E,#TCE0_INTCTRLA.0,TCE0_INTFLAGS.0
                          INTname48=TCE0_ERR,$0060,#TCE0_INTCTRLA.2,TCE0_INTFLAGS.1
                          INTname49=TCE0_CCA,$0062,#TCE0_INTCTRLB.0,TCE0_INTFLAGS.4
                          INTname50=TCE0_CCB,$0064,#TCE0_INTCTRLB.2,TCE0_INTFLAGS.5
                          INTname51=TCE0_CCC,$0066,#TCE0_INTCTRLB.4,TCE0_INTFLAGS.6
                          INTname52=TCE0_CCD,$0068,#TCE0_INTCTRLB.6,TCE0_INTFLAGS.7
                          INTname53=TCE1_OVF,$006A,#TCE1_INTCTRLA.0,TCE1_INTFLAGS.0
                          INTname54=TCE1_ERR,$006C,#TCE1_INTCTRLA.2,TCE1_INTFLAGS.1
                          INTname55=TCE1_CCA,$006E,#TCE1_INTCTRLB.0,TCE1_INTFLAGS.4
                          INTname56=TCE1_CCB,$0070,#TCE1_INTCTRLB.2,TCE1_INTFLAGS.5
                          INTname57=SPIE_INT,$0072,#SPIE_INTCTRL.0,SPIE_STATUS.7
                          INTname58=USARTE0_RXC,$0074,#USARTE0_CTRLA.4,USARTE0_STATUS.7
                          INTname59=USARTE0_DRE,$0076,#USARTE0_CTRLA.0,USARTE0_STATUS.5
                          INTname60=USARTE0_TXC,$0078,#USARTE0_CTRLA.2,USARTE0_STATUS.6
                          INTname61=USARTE1_RXC,$007A,#USARTE1_CTRLA.4,USARTE1_STATUS.7
                          INTname62=USARTE1_DRE,$007C,#USARTE1_CTRLA.0,USARTE1_STATUS.5
                          INTname63=USARTE1_TXC,$007E,#USARTE1_CTRLA.2,USARTE1_STATUS.6
                          INTname64=PORTD_INT0,$0080,#PORTD_INTCTRL.0,PORTD_INTFLAGS.0
                          INTname65=PORTD_INT1,$0082,#PORTD_INTCTRL.2,PORTD_INTFLAGS.1
                          INTname66=PORTA_INT0,$0084,#PORTA_INTCTRL.0,PORTA_INTFLAGS.0
                          INTname67=PORTA_INT1,$0086,#PORTA_INTCTRL.2,PORTA_INTFLAGS.1
                          INTname68=ACA_AC0,$0088,#ACA_AC0CTRL.4,ACA_STATUS.0
                          INTname69=ACA_AC1,$008A,#ACA_AC1CTRL.4,ACA_STATUS.1
                          INTname70=ACA_ACW,$008C,#ACA_WINCTRL.0,ACA_STATUS.2
                          INTname71=ADCA_CH0,$008E,ADCA_CH0_INTCTRL.0,ADCA_CH0_INTFLAG.0
                          INTname72=ADCA_CH1,$0090,ADCA_CH1_INTCTRL.0,ADCA_CH1_INTFLAG.0
                          INTname73=ADCA_CH2,$0092,ADCA_CH2_INTCTRL.0,ADCA_CH2_INTFLAG.0
                          INTname74=ADCA_CH3,$0094,ADCA_CH3_INTCTRL.0,ADCA_CH3_INTFLAG.0
                          INTNAME75=RESERVED1,$0096,#,
                          INTNAME76=RESERVED2,$0098,#,
                          INTname77=TCD0_OVF,$009A,#TCD0_INTCTRLA.0,TCE0_INTFLAGS.0
                          INTname78=TCD0_ERR,$009C,#TCD0_INTCTRLA.2,TCE0_INTFLAGS.1
                          INTname79=TCD0_CCA,$009E,#TCD0_INTCTRLB.0,TCE0_INTFLAGS.4
                          INTname80=TCD0_CCB,$00A0,#TCD0_INTCTRLB.2,TCE0_INTFLAGS.5
                          INTname81=TCD0_CCC,$00A2,#TCD0_INTCTRLB.4,TCE0_INTFLAGS.6
                          INTname82=TCD0_CCD,$00A4,#TCD0_INTCTRLB.6,TCE0_INTFLAGS.7
                          INTname83=TCD1_OVF,$00A6,#TCD1_INTCTRLA.0,TCE1_INTFLAGS.0
                          INTname84=TCD1_ERR,$00A8,#TCD1_INTCTRLA.2,TCE1_INTFLAGS.1
                          INTname85=TCD1_CCA,$00AA,#TCD1_INTCTRLB.0,TCE1_INTFLAGS.4
                          INTname86=TCD1_CCB,$00AC,#TCD1_INTCTRLB.2,TCE1_INTFLAGS.5
                          INTname87=SPID_INT,$00AE,#SPID_INTCTRL.0,SPID_STATUS.7
                          INTname88=USARTD0_RXC@URXC2,$00B0,#USARTD0_CTRLA.4,USARTD0_STATUS.7
                          INTname89=USARTD0_DRE@UDRE2,$00B2,#USARTD0_CTRLA.0,USARTD0_STATUS.5
                          INTname90=USARTD0_TXC,$00B4,#USARTD0_CTRLA.2,USARTD0_STATUS.6
                          INTname91=USARTD1_RXC@URXC3,$00B6,#USARTD1_CTRLA.4,USARTD1_STATUS.7
                          INTname92=USARTD1_DRE@UDRE3,$00B8,#USARTD1_CTRLA.0,USARTD1_STATUS.5
                          INTname93=USARTD1_TXC,$00BA,#USARTD1_CTRLA.2,USARTD1_STATUS.6
                          INTNAME94=RESERVED3,$00BC,#,
                          INTNAME95=RESERVED4,$00BE,#,
                          INTNAME96=RESERVED5,$00C0,#,
                          INTNAME97=RESERVED6,$00C2,#,
                          INTNAME98=RESERVED7,$00C4,#,
                          INTNAME99=RESERVED8,$00C6,#,
                          INTNAME100=RESERVED9,$00C8,#,
                          INTNAME101=RESERVED10,$00CA,#,
                          INTNAME102=RESERVED11,$00CC,#,
                          INTNAME103=RESERVED12,$00CE,#,
                          INTname104=PORTF_INT0,$00D0,#PORTF_INTCTRL.0,PORTF_INTFLAGS.0
                          INTname105=PORTF_INT1,$00D2,#PORTF_INTCTRL.2,PORTF_INTFLAGS.1
                          INTNAME106=RESERVED13,$00D4,#,
                          INTNAME107=RESERVED14,$00D6,#,
                          INTname108=TCF0_OVF,$00D8,#TCF0_INTCTRLA.0,TCF0_INTFLAGS.0
                          INTname109=TCF0_ERR,$00DA,#TCF0_INTCTRLA.2,TCF0_INTFLAGS.1
                          INTname110=TCF0_CCA,$00DC,#TCF0_INTCTRLB.0,TCF0_INTFLAGS.4
                          INTname111=TCF0_CCB,$00DE,#TCF0_INTCTRLB.2,TCF0_INTFLAGS.5
                          INTname112=TCF0_CCC,$00E0,#TCF0_INTCTRLB.4,TCF0_INTFLAGS.6
                          INTname113=TCF0_CCD,$00E2,#TCF0_INTCTRLB.6,TCF0_INTFLAGS.7
                          INTNAME114=RESERVED15,$00E4,#,
                          INTNAME115=RESERVED16,$00E6,#,
                          INTNAME116=RESERVED17,$00E8,#,
                          INTNAME117=RESERVED18,$00EA,#,
                          INTNAME118=RESERVED19,$00EC,#,
                          INTname119=USARTF0_RXC,$00EE,#USARTF0_CTRLA.4,USARTF0_STATUS.7
                          INTname120=USARTF0_DRE,$00F0,#USARTF0_CTRLA.0,USARTF0_STATUS.5
                          INTname121=USARTF0_TXC,$00F2,#USARTF0_CTRLA.2,USARTF0_STATUS.6
                          موقع اعمال وقفه به ورودی event کدام پرچم (با چه اسمی ) فعال میشه ؟
                          و ریجیستری که مقدار tcc0_cnt در ان ریخته میشه کدومه ؟
                          [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                          دیدگاه


                            #14
                            پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

                            نوشته اصلی توسط حامد رحیمی
                            موقع اعمال وقفه به ورودی event کدام پرچم (با چه اسمی ) فعال میشه ؟
                            و ریجیستری که مقدار tcc0_cnt در ان ریخته میشه کدومه ؟
                            پرچم وقفه متناسب با کانال (CCxIF) یا شرایط ERRIF و OVFIF در رجیستر INTFLAGS و مقدار مورد نظر در رجیستر [CCx[H:L در دسترس هست.
                            در فایل AVR1306 جزئیات و نحوه عملکرد تایمرکانتر XMEGA قدم به قدم توضیح داده شده.
                            گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                            دیدگاه


                              #15
                              پاسخ : اندازه گیری پهنای پالس بدون درگیری cpu

                              متاسفاانه چون در بیسکام کار میکنم نتونستم ریجیستر هاشو پیدا کنم
                              [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                              دیدگاه

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