اطلاعیه

Collapse
No announcement yet.

مشکل در زبان c و avr

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

    مشکل در زبان c و avr

    سلام زیاد برنامه نویسی بلد نیستم=زبان C
    میخوام خروجی تا3 adc رو به 3 تا OCR از FAST PWM بدهم
    خروجیه ADCها باید اندازه گیری و به ازای هر محدوده ای مقداری خاص به هرOCR اعمال شود
    برای یک ADC و یک OCR برنامه به این صورت است.که البته اگه ایرادی داشت خودم نوشتم

    0 char a=adc-data
    = while
    (if (a=0 && a<=1
    ocr0=50
    if(a>1&& a<=2
    ocr0=78
    و...
    حالا من میخوام همین برنامه رو برا 3 تا ocrو adc بنویسم
    کمکم کنید چون هیچ استادی در دسترسم نیست و زمان زیادی وقت ندارم
    مممنون




    #2
    پاسخ : مشکل در زبان c و avr

    خوب تو اگه از مگا 32 یا 16 استفاده کنی
    3 تا تایمر داری دوتا 8 بیت و یک 16 بیت
    خوب طریقه کارش رو می تونی تغییر بدی
    یعنی بیای مقدرا adc رو بخون و یا مستقیم و یا با ضرب بذار تو یocr ها

    a=read_adc(0);
    b=read_adc(1);
    c=read_adc(2);
    چون adc عدد بین 0 تا 1023 هست تایمر چوری تنظیم کن که ocr بین 0 تا 1023 باشه و یا 0 تا 255 بعدد می تونی مستقیم یا غیر مستقیم توش بزاری
    ocr0=a;
    ocr1a=b;
    ocr1b=c;
    هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
    بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
    میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

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

    دیدگاه


      #3
      پاسخ : مشکل در زبان c و avr

      یعنی میگید تو هر گیومه ی if هر سه تای اینا رو بنویسم؟؟؟؟؟؟؟؟؟
      0 char a=adc-data
      1 b=adc-data
      2 a=adc-data
      = while
      (if (a=0 && a<=1
      ocr0= 50
      ocr1= 50
      ocr2= 50
      if(a>1&& a<=2
      ocr0=78
      ocr1=78
      ocr2=78
      این برنامه ایرادی نداره؟ :eek:یعنی درست کار میکنه؟ :question:هنگ نمیکنه؟ oo:حله؟
      :angry:

      دیدگاه


        #4
        پاسخ : مشکل در زبان c و avr

        نه همون که بالا نوشتم


        a=read_adc(0);
        b=read_adc(1);
        c=read_adc(2);
        ocr0=a;
        ocr1a=b;
        ocr1b=c;

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

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

        دیدگاه


          #5
          پاسخ : مشکل در زبان c و avr

          اخه طبق کاری که من میخوام نباید مستقیم adc بره به ocr باید if (a=0 && a<=1
          باید اگر مثلا ولتاژ تو adc بین 0.5 و 1 بود یک مقدار به خصوصی رو از255 توی ocrداشته باشیم
          البته من از مقدار 1023 که adc داره چیزی نمیدونم؟ :eek:
          2=یعنی برای 1 ولتی که از ورودیه میکرو مییاد چه مقدار adcداریم؟از31025 یا 255؟ oo:

          دیدگاه


            #6
            پاسخ : مشکل در زبان c و avr

            خروجی adc همیشه بین 0 تا 1023 هست
            یعنی 0 ولت 0
            و 5 ولت 1023
            پس وقتی ولتاژ حدود 1 ولته حدود 250 تا 300 هست
            و وقتی .5 ولت حدود 120 تا 150
            هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
            بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
            میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

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

            دیدگاه


              #7
              پاسخ : مشکل در زبان c و avr

              نوشته اصلی توسط gold.star
              اخه طبق کاری که من میخوام نباید مستقیم adc بره به ocr باید if (a=0 && a<=1
              باید اگر مثلا ولتاژ تو adc بین 0.5 و 1 بود یک مقدار به خصوصی رو از255 توی ocrداشته باشیم
              مرثی
              1023 رو متوجه شدم /خوب حالا برنامه چی میشه؟اخرش من برنامه رو باید چیکار کنم؟
              موضوع اصلی هنوز برام سواله /اخه دیگه وقت اموزش زبان c رو ندارم.لطفا بگید این 3 تا adc رو با چه برنامه ای به ocr بدم؟البطه با در نظر گرفتن عملیاتی که قراره روش انجام بشه :redface:

              دیدگاه


                #8
                پاسخ : مشکل در زبان c و avr

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

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

                دیدگاه

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