اطلاعیه

Collapse
No announcement yet.

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

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

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

    نوشته اصلی توسط حامد رحیمی
    متاسفاانه چون در بیسکام کار میکنم نتونستم ریجیستر هاشو پیدا کنم
    به هر حال باید به نحوی به رجیسترها دسترسی داشته باشید و باید چنین امکانی در بسکام هم وجود داشته باشد که در غیر این صورت یک توفیق اجباری برای کوچ کردن نصیب شما شده.
    گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

    دیدگاه


      #17
      پاسخ : اندازه گیری پهنای پالس بدون درگیری 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]

      دیدگاه


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

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

        دیدگاه

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