اطلاعیه

Collapse
No announcement yet.

DS18S20

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

    #31
    پاسخ : DS18S20

    سلام دوست عزیز
    modbusچی هست؟میشه بیشتر توضیح بدید؟و اینکه اگر int16بزارم دما رو دیگه اعشاری نشون نمیده منظورتون از تغییر کدش کدوم قسمت؟

    اضافه شده در تاریخ :
    من از rs232استفاده میکنم نه 485این پروتکل جواب میده؟واقعا ممنون من نمیدونستم همچین چیزی هس.من یه برنامه keypad هم دارم که با این پروتکل راه اندازی باید بشه لطفا بیشتر توضیح بدید.ممنون

    دیدگاه


      #32
      پاسخ : DS18S20

      میتونید از RS232 هم استفاده کنید. خطوط ارسال و دریافت، بدون آیسی واسط، به صورت متناظر وصل میشند.

      دیدگاه


        #33
        پاسخ : DS18S20

        دوست عزیز میشه یه مقدار در مورد MODBUS توضیح بدید من که SERCH میکنم کلی کد میاد که دقیقا نمیدونم چه باید کرد :sad:

        اضافه شده در تاریخ :
        http://www.microchip.com/forums/m561616.aspx من یه نمونه کد ÷یدا کردم اما PIC اینجا SLAVE شده

        اضافه شده در تاریخ :
        این کتابخونه رو هم برای MODBUS ÷یدا کردم اما طریقه استفادشو نمیدونم[ftp=ftp://s4.picofile.com/file/8165267050/Codi_PIC_C_COMPILER_Llibreria_Modbus_.pdf.html]http://s4.picofile.com/file/8165267050/Codi_PIC_C_COMPILER_Llibreria_Modbus_.pdf.html[/ftp]

        دیدگاه


          #34
          پاسخ : DS18S20

          عرض کردم. توی پوشه مثالهای CCS پروژه مدباس هست. ex_modbus_slave.c برای اسلیو هست.

          ببینید کلاً شما دو راه دارید.
          یکی اینکه از پروتکل خودتون استفاده کنید و برنامه سمت میکرو و کامپیوتر رو خودتون بنویسید.
          یا اینکه از مدباس استفاده کنید که در اون صورت برنامه سمت میکروتون راحت انجام میشه. باید برای سمت کامپیوتر یا از برنامه های آماده اون استفاده کنید یا اینکه خودتون بنویسید که خیلی سخت میشه. البته برای مدباس کتابخونه هست برای سمت کامپیوتر. برنامه های آماده هم امکانات کمی دارند و بعضا رایگان نیستند. یک نمونه برنامه modbus poll هست که فقط مقادیر رو بصورت عدد نشون میده و امکان خاص دیگه ای نداره.

          حالا اینکه از کدوم روش استفاده کنید انتخاب با خودتونه.
          میتونید خودتون پروتکلشو پیاده کنید ولی به نظر من اون چیزایی که عکسشو فرستادید زیاد جالب نبود.
          راستش اصلاً سر در نیاوردم. به نظرم الکی پیچیده کرده بودیدش. یکم ساده تر بنویسید. crc نمیخاد فعلاً.
          میتونید از ایده مدباس اسکی بصورت ساده استفاده کنید.
          با کاراکتر های اسکی کار کنید. یک کاراکتر مثلاً ":" برای شروع یک پکت داده. بعد اطلاعات سنسور ها و در آخر هم یک checksum برای خطایابی.


          در هرصوت این بحث ها به DS18S20 مربوط نمیشه و اگر میخاید در این مورد بحث کنید یک تاپیک جداگانه ایجاد کنید.

          موفق باشید.

          دیدگاه


            #35
            پاسخ : DS18S20

            ممنون از راهنماییتون اما من چند تا تاپیک دیگه ام درست کردم هیچکس وقت نمیزاره یعنی نمیشه توقع داشت از دیگران اما جایی جز اینجاها واسه راهنمایی نیست
            فکر میکنم از پروتکل خودم استفاده کنم بهتر باشه یعنی من هر برنامه ای که مینویسم با این پروتکل باید به PCبفرستم لطفا اگر براتون امکان داره در نوشتن پروتکل راهنماییم کنید

            اضافه شده در تاریخ :
            سلام مهندس من تو کد نمای دما وقتی از int16 برای tempratur استفاده میکنم تو printf میزارم %X اما درست نشون نمیده دمارو

            اضافه شده در تاریخ :
            دوستان میخوام خروجی دما رو به باینرب تبدیل کنم بجای float برای اینکه در یک بایت جا بدم اطلاعات دمارو از توابع تبدیل float به باینری ای استفاده میکنم بیرون از این برنامه صحیح جواب میده اما تتو برنامه نه

            دیدگاه


              #36
              پاسخ : DS18S20

              چیزی که گفتید اصلاً معنی نداره. اطلاعات دما بصورت خام 10 بیتی هست. چطوری میخاید توی 1 بایت جاش بدید؟!

              دیدگاه


                #37
                پاسخ : DS18S20

                نوشته اصلی توسط freedom_truth
                چیزی که گفتید اصلاً معنی نداره. اطلاعات دما بصورت خام 10 بیتی هست. چطوری میخاید توی 1 بایت جاش بدید؟!
                اگرمن بخوام همین 10 بیت رو تو دو بایت جابدم به صورت باینری چطور میشه؟

                دیدگاه


                  #38
                  پاسخ : DS18S20

                  8 بیت اول دما تو یه بایت، و مابقی رو هم 8 بار شیفت میدین، و میریزین تو بایت بعدی.

                  دیدگاه

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