اطلاعیه

Collapse
No announcement yet.

تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

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

    تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

    با سلام
    جهت ارسال داده long به حافظه خارجی با استفاده از دستور I2C نیاز به تبدیل فوق دارم. لطفا کد پیشنهادی خودتون رو ارایه بدین. ممنونم.

    #2
    پاسخ : تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

    LONG متغیر علامت دار هست وشامل اعداد منفی هم میشود . اول یه راهی برای حذف اعداد منفی درنظر بگیرید سپس میتونید با دستور STR به رشته تبدیل و بعد به تعداد دلخواه به بایت یا هر چیز دیگه تبدیل کنید

    دیدگاه


      #3
      پاسخ : تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

      دستوری برای این کار وجود داره؟

      دیدگاه


        #4
        پاسخ : تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

        شخصا دستوری ندیدم.اگر برای حافظه خارجی میخواید باید عدد رو بدون توجه به مثبت و منفی به چهار قسمت تقسیم کنید.(با شیفت و اند کردن) بعد هر تکه رو مثل یک عدد مجزا به حافظه بفرستین.برنامه من چون سی هست به صورت زیر نوشتم.معادل بسکامش رو یقینا توی راهنما میتونین پیدا کنین
        کد:
        buffer = data;
            write_data(PRGM_EN_ADDR,buffer);
            buffer = (data >> 8);
            write_data(PRGM_EN_ADDR+1,buffer);
            buffer = (data >> 16);
            write_data(PRGM_EN_ADDR+2,buffer);
            buffer = (data >> 24);
            write_data(PRGM_EN_ADDR+3,buffer);
        توی کد هم اگر دقت کنید.هر مرحله فایل هشت بار به سمت راست شیفت داده میشه و داخل یک متغیر از نوع بایت به نام Buffer قرار داده میشه و به حافظه ارسال میشه.هر مرحله تعداد شیفت ها 8 بار بیشتر میشه و آدرس نوشتن در حافظه هم یک رقم بیشتر میشه تا روی همون سلول دوباره ننویسه.
        برای خوندن هم باید دوباره اون اعداد رو تکه تکه بخونین و با هم ترکیب بکنین
        جدیدترین ویرایش توسط Aristar; ۱۹:۱۹ ۱۳۹۵/۱۲/۰۸.
        Aristar Group - Always And Forever

        دیدگاه


          #5
          پاسخ : تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

          تبدیل به رشته ومجدد بایت شدن ساده تر هست کلا 4 -5 خط برنامه میخوادتو بیسیک

          دیدگاه


            #6
            پاسخ : تبدیل متغیر long به byte در بسکام چگونه انجام می شود؟

            سلام
            فکر میکنم برای مثبت کردن مقادیر منفی باید از دستور abs استفاده کنی
            روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

            دیدگاه

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