اطلاعیه

Collapse
No announcement yet.

روش صحیح ذخیره رشته در اییپرام.

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

    روش صحیح ذخیره رشته در اییپرام.

    بنده برای ذخیره یک متعیر رشته ای در اییپرام میکرو ابتدا متعییر رشته ای رو در متعییر هایی به طول یک تجزیه کرده وسپس اون مقدار رو با دستورvalدر بسکام به مقدارعددی تبدیل می کنم.و اون مقدار رو در ایپرام ذخیره می کنم .
    موقعی که که می خوام از ایپرام بخونم دوباره تک تک این منتعیر ای رواز خونه های مربوطه خونده و به رشته تبدیل کرده .
    می خواستم بدونم این روش درستیه ؟ یا راه حل بهتر از این هم هست؟
    چون من الان به مشکل خوردم.
    eshop-hodhod.ir

    #2
    پاسخ : روش صحیح ذخیره رشته در اییپرام.

    نوشته اصلی توسط Namvar14 نمایش پست ها
    بنده برای ذخیره یک متعیر رشته ای در اییپرام میکرو ابتدا متعییر رشته ای رو در متعییر هایی به طول یک تجزیه کرده وسپس اون مقدار رو با دستورvalدر بسکام به مقدارعددی تبدیل می کنم.و اون مقدار رو در ایپرام ذخیره می کنم .
    موقعی که که می خوام از ایپرام بخونم دوباره تک تک این منتعیر ای رواز خونه های مربوطه خونده و به رشته تبدیل کرده .
    می خواستم بدونم این روش درستیه ؟ یا راه حل بهتر از این هم هست؟
    چون من الان به مشکل خوردم.
    سلام

    تو کدویژن اینطور عمل میکنم:
    برای خواندن باید یک کارکتر خونده و در متغیر ریخته بشه و بعد متغییر ها را با هم در یک رشته بریزی و برای نوشتن هم اول یک کارکتر رو بریز تو یک متغیر کارکتری(تک خانه ای) و بعد بریز تو حافظه

    موفق باشید
    دوست عزیز اگه مفید بود روی تشکر بزن

    دیدگاه


      #3
      پاسخ : روش صحیح ذخیره رشته در اییپرام.

      یعنی شما می فرمایید که کارکترهای رشته ای مشکلی ایجاد نمی کنن.و میتونند مستقیم دراییپرام ذخیره بشن.در کد ویژن تاحالا چنین چیزی ندیده بود.
      یک پروژه دارم حتما باید بیسیک باشه دلیلش هم اینه که ممگا 32 در بسکام خیلی راحت میشه تا چند تا پورت سریال نرم افزاری ایجاد بکنیم. ولی در کد ویژن نمیشه این کارو کرد(اگه هم میشه خیلی دنگ و فنگ داره) بخاطرهمین مجبور شدم با بسکام تمومش کنم.
      eshop-hodhod.ir

      دیدگاه


        #4
        پاسخ : روش صحیح ذخیره رشته در اییپرام.

        نوشته اصلی توسط Namvar14 نمایش پست ها
        یعنی شما می فرمایید که کارکترهای رشته ای مشکلی ایجاد نمی کنن.و میتونند مستقیم دراییپرام ذخیره بشن.در کد ویژن تاحالا چنین چیزی ندیده بود.
        یک پروژه دارم حتما باید بیسیک باشه دلیلش هم اینه که ممگا 32 در بسکام خیلی راحت میشه تا چند تا پورت سریال نرم افزاری ایجاد بکنیم. ولی در کد ویژن نمیشه این کارو کرد(اگه هم میشه خیلی دنگ و فنگ داره) بخاطرهمین مجبور شدم با بسکام تمومش کنم.
        اگه دقت کنید گفتم کارکتر به کارکتر .
        یعنی شما تو متغیر کارکتری مثلا حرف'A' را میریزید و بعد مقدار متغیر کارکتری را در حافظه و برای خواندن یکی می خونی میریزی تو متغیر کارکتری و بعد کارکتر را میریزی تو رشته تا کاراکتر ها بصورت رشته بشند.
        البته منظورم از ریختن و نوشتن - ریختن و نوشتن تو متغیری که از نوع ای-پی-رام باشه.
        تو کدویژن هم میشه سریال تعریف کرد - بگرید تو انجمن هستش.
        دوست عزیز اگه مفید بود روی تشکر بزن

        دیدگاه


          #5
          پاسخ : روش صحیح ذخیره رشته در اییپرام.

          سلام
          در بیسیک میتونید مستقیما رشته رو در eeprom ذخیره کنید.
          dim s as eram string*10

          دیدگاه


            #6
            پاسخ : روش صحیح ذخیره رشته در اییپرام.

            در نرم افزار کد ویژن می توانی یک رشته در eeprom تعریف کنی ولی نمی توانی اونو مقدار دهی کنی
            واسه مقدار دهی یک رشته باید بایت بایت اونو مقداردار دهی کنی
            مثلا
            کد:
            eeprom char ali[20];
            void main (int )
            {
            for (i=0;i<20;i++)
            {
            ali[i]="o";
            }
            ali[19=0x00;
            }
            با اجرای کد بالا کل خانه های ali مقدار o میگیرند
            و واسه این که رشته یی که ساختی معتبر باشه باید تهش را ببندی با کاراکتر صفر

            دیدگاه


              #7
              پاسخ : روش صحیح ذخیره رشته در اییپرام.

              نوشته اصلی توسط antipa نمایش پست ها
              در نرم افزار کد ویژن می توانی یک رشته در eeprom تعریف کنی ولی نمی توانی اونو مقدار دهی کنی
              واسه مقدار دهی یک رشته باید بایت بایت اونو مقداردار دهی کنی
              مثلا
              کد:
              eeprom char ali[20];
              void main (int )
              {
              for (i=0;i<20;i++)
              {
              ali[i]="o";
              }
              ali[19=0x00;
              }
              با اجرای کد بالا کل خانه های ali مقدار o میگیرند
              و واسه این که رشته یی که ساختی معتبر باشه باید تهش را ببندی با کاراکتر صفر
              1 - برنامه در داخل حلقه اشکال دستوری داره.
              2 - بعد از حلقه نیز فکر کنم تایپی باشه اشکال داره.
              3 - و تا حالا که من کار کردم نیاز به گذاشتن صفر نبوده - هر چند در رشته ها کارکتر NULL در آخرین خانه هست و اشتباه نکنم خود کمپایلر این کارو میکنه و نیاز به اینکار نیست.
              4 - رشته ali نیز درست تعریف نشده.
              دوست عزیز اگه مفید بود روی تشکر بزن

              دیدگاه

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