NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3375 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 5 از 5

موضوع: ارسال دیتا دما به pc

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Jan 2015
    نوشته ها
    84
    تشکر
    11
    تشکر شده 3 بار در 2 پست

    Icon17 ارسال دیتا دما به pc

    سلام دوستان
    دوستان من یه برنامه دارم که اطلاعات چندتا سنسور دما رو به pc قرار بفرسته خروجی سنسورها رو میتونم رو ترمینال نشون بدم اما این خروجی float هست چطور میتونم تو دو بایت اطلاعات هر سنسور رو جا بدم؟

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    مدیرکل انجمنها
    تاریخ عضویت
    May 2011
    نام
    احسان صفامنش
    نوشته ها
    1,763
    تشکر
    919
    تشکر شده 2,261 بار در 1,056 پست

    پیش فرض

    با چندتا ضرب و تقسیم و باقیمانده گیری شما میتونید تک تک ارقام رو جدا کنید چه برسه به قسمت اعشار و صحیح

  4. #3
    کاربر علاقه مند
    تاریخ عضویت
    Jan 2015
    نوشته ها
    84
    تشکر
    11
    تشکر شده 3 بار در 2 پست

    پیش فرض

    [QUOTE=esisafa;98497]با چندتا ضرب و تقسیم و باقیمانده گیری شما میتونید تک تک ارقام رو جدا کنید چه برسه به قسمت اعشار و صحیح[/QU
    میشه بیشتر راهنمایی کنید

  5. #4
    همکار افتخاری dariush_ab آواتار ها
    تاریخ عضویت
    Apr 2012
    نام
    داریوش عباسی نژاد
    نوشته ها
    2,112
    تشکر
    1,404
    تشکر شده 1,810 بار در 1,064 پست

    پیش فرض

    برنامه زیر رو نگاه کنید ( مثال ds1820 نرم افزار mikroc است)

    کد:
    void Display_Temperature(unsigned int temp2write) {
      const unsigned short RES_SHIFT = TEMP_RESOLUTION - 8;
      char temp_whole;
      unsigned int temp_fraction;
    
    
      // check if temperature is negative
      if (temp2write & 0x8000) {
         text[0] = '-';
         temp2write = ~temp2write + 1;
         }
    
    
      // extract temp_whole
      temp_whole = temp2write >> RES_SHIFT ;
    
    
      // convert temp_whole to characters
      if (temp_whole/100)
         text[0] = temp_whole/100  + 48;
      else
         text[0] = '0';
    
    
      text[1] = (temp_whole/10)%10 + 48;             // Extract tens digit
      text[2] =  temp_whole%10     + 48;             // Extract ones digit
    
    
      // extract temp_fraction and convert it to unsigned int
      temp_fraction  = temp2write << (4-RES_SHIFT);
      temp_fraction &= 0x000F;
      temp_fraction *= 625;
    
    
      // convert temp_fraction to characters
      text[4] =  temp_fraction/1000    + 48;         // Extract thousands digit
      text[5] = (temp_fraction/100)%10 + 48;         // Extract hundreds digit
      text[6] = (temp_fraction/10)%10  + 48;         // Extract tens digit
      text[7] =  temp_fraction%10      + 48;         // Extract ones digit
    
    
      // print temperature on LCD
      Lcd_Out(2, 5, text);
    }
    شما می تونید تک تک کاراکتر ها رو به دست بیارین.

  6. تشکرها از این نوشته :


  7. #5
    کاربر علاقه مند
    تاریخ عضویت
    Jan 2015
    نوشته ها
    84
    تشکر
    11
    تشکر شده 3 بار در 2 پست

    پیش فرض

    سلام
    من میخوام دمای هر سنسور رو اینجوری با این ÷روتکل بفرستم حالا چطور باید تبدیل کنم؟
    void TRANSMITE DATA (void)
    {
    BYTE0 = 0;
    BYTE1.B0 = d0;
    BYTE1.B1 = d1;
    BYTE1.B2 = d2;
    BYTE1.B3 = d3;
    BYTE1.B4 = d4;
    BYTE1.B5 = d5;
    BYTE1.B6 = 1;
    BYTE1.B7 = 0;

    BYTE2.B0 = d6;
    BYTE2.B1 = d7;
    BYTE2.B2 = d8;
    BYTE2.B3 = d9;
    BYTE2.B4 = d10;
    BYTE2.B5 = d11;
    BYTE2.B6 = 0;
    BYTE2.B7 = 1;

    BYTE3.B0 = d0 ^ d6;
    BYTE3.B1 = d1 ^ d7;
    BYTE3.B2 = d2 ^ d8;
    BYTE3.B3 = d3 ^ d9;
    BYTE3.B4 = d4 ^ d10;
    BYTE3.B5 = d5 ^ d11;
    BYTE3.B6 = 1;
    BYTE3.B7 = 1;
    putchar(BYTE0);
    putchar(BYTE1.B);
    putchar(BYTE2.B);
    putchar(BYTE3.B);

    }//

موضوعات مشابه

  1. مدار کیلومتر دیجیتال
    توسط بهزاد000 در انجمن الکترونیک
    پاسخ: 1
    آخرين نوشته: 27-05-2014, 12:26
  2. [سوال] مبدل دیجیتال به انالوگ
    توسط Ma3ood در انجمن AVR
    پاسخ: 9
    آخرين نوشته: 30-11-2013, 22:35
  3. پاسخ: 4
    آخرين نوشته: 26-09-2013, 12:59
  4. پاسخ: 0
    آخرين نوشته: 16-12-2012, 15:10
  5. کمک نحوه ارسال دیتای مختلف avr
    توسط shayanscience در انجمن طراحی و ساخت و آزمایش مدارت الکترونیک
    پاسخ: 3
    آخرين نوشته: 14-11-2011, 22:08

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •