اطلاعیه

Collapse
No announcement yet.

مشکل در یک برنامه

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

    مشکل در یک برنامه

    سلام
    برنامه زیر قسمتی از یک برنامه است

    Dim Dt As Word , D As Integer , B As Integer
    Do
    Loop
    End
    Sample:
    Dt = Getadc(0)
    B = Dt * 5
    D = B / 1000
    Lcd D
    سوال اینجاست که چرا با اینکه متغیر D از نوع Integer تعریف شده است اما بر روی ال سی دی فقط اعداد صحیح نمایش داده می شود و قسمت اعشار Dحذف میشود؟ :angry:
    راه حل چیست؟

    #2
    پاسخ : مشکل در یک برنامه

    سلام

    متغیر از نوع word تعریف کن
    زندگی یه فرصته

    دیدگاه


      #3
      پاسخ : مشکل در یک برنامه

      این کار رو هم کردم ولی نمیشه :cry2:

      دیدگاه


        #4
        پاسخ : مشکل در یک برنامه

        اگه متغیر D رو از نوع single انتخاب بکنی حله :agree:
        عمر گران میگذرد خواهی نخواهی سعی بر آن کن نرود رو به تباهی
        مطلب دل را طلب از سوی خدا کن زآنکه بود رحمت او لا یتناهی

        دیدگاه


          #5
          پاسخ : مشکل در یک برنامه

          چون ADC به صورت 10 بیتیه پس حداکثر عددی که دریافتمی کنه 1023 هست. پس با تعریف کردن متغیر به صورت Integer یا Word به راحتی می تونی به نتیجه دلخواه برسی.
          اما دو تا نکته که برنامه لازم بوده بنویسی و من اونا رو نمی بینم :

          1) پیکربندی ADC و به تبع اون اتصال صحیح پایه AREF
          مثلا
          Config ADC = Single , Reference = AVCC
          که باید پایه AREF رو به پایه AVCC یا همون ولتاژ 5 ولت وصل کنی.

          2) استفاده از دستور Start ADC همیشه لارمه. میشه یک باز در اول برنامه اونو نوشت یا این که در قسمت هایی از برنامه که ورد نیاز نیست اون رو Stop کرد. اما برای استفاده مجدد از GetADC باید دوباره Start بشه.

          دیدگاه


            #6
            پاسخ : مشکل در یک برنامه

            سلام حامد جان :smile:
            همون طور که گفتم این قسمتی از برنامه بود :angry: و من پیکربندی ها رو تو برنامه انجام دادم :agree:
            مشکل با تعریف متغیر به صورت word /inteherحل نمیشه
            من بنا بر پیشنهاد دوستمون آقای reza _microمتغیر رو به صورت single تعریف کردم و مشکل حل شد :wow:

            دیدگاه


              #7
              پاسخ : مشکل در یک برنامه

              نوشته اصلی توسط ehsanshaieste
              سلام حامد جان :smile:
              همون طور که گفتم این قسمتی از برنامه بود :angry: و من پیکربندی ها رو تو برنامه انجام دادم :agree:
              مشکل با تعریف متغیر به صورت word /inteherحل نمیشه
              من بنا بر پیشنهاد دوستمون آقای reza _microمتغیر رو به صورت single تعریف کردم و مشکل حل شد :wow:
              من برنامه رو همین الان یه بار دیگه نگاه کردم. منظورم من از تعریف کردن متغیر Word یا Integer برای Dt بود. مسلما همون طور که می دونی چون از تقسیم استفاده کردی باید D رو به صورت Single تعریف کنی.
              اینو یه جا دیگه هم مطرح کردی. اونجا هم گفتم برای سادگی کار واینکه مجبور به استفاده از Single نشی بهتره همون اول تقسیم بر دو کنی

              دیدگاه

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