اطلاعیه

Collapse
No announcement yet.

چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVision

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

    چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVision

    من یک بایت خاص که نیاز دارم را در آدرس 0x1FFF حافظه فلش Mega8 ریخته ام. میخواهم بدانم چگونه می توان در نرم افزار کدویژن به این بایت دسترسی پیدا کرد و آن را در یک رجیستر خاص ذخیره کرد. توضیح بیشتر اینکه این بایتی که در آن آدرس ذخیره میشود بایت کالیبراسیون اسیلاتور است و میآ‌بایست پس از خوانده شدن درون رجیستر OSCCAL

    #2
    پاسخ : چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVis

    من زیاد به کدویژن وارد نیستم و ولی با پوینتر ها باید بشه .
    کد:
    flash int *ptr;
    int addr = 0x1FFF;
    ptr = (int * ) addr;
    
    now its accessible with *ptr;
    فتو بلاگ من
    کاردستی ها :
    روبات شطرنج باز ( یادگار دوران جوانی )
    فارسی نویسی مستقیم در نمایشگر های گرافیکی
    کتابچه خود آموز زبان توصیف سخت افزار Verilog

    دیدگاه


      #3
      پاسخ : چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVision

      میشه یک کمی بیشتر توضیح بدین

      دیدگاه


        #4
        پاسخ : چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVision

        کار کرد ؟!

        اول یه پوینتر از نوع flash تعریف میکنیم ( قاعدات وقتی typeآ‌ جداگانه به عنوان flashآ‌ در cv وجود داره ، باید نوع پوینتریش هم فانکشنال عمل کنه ) .

        بعد یه متغیر دیگه که ادرس رو توش قرار میدیم .

        بعد اون ادرس رو تبدیل به یک پوینتر میکنیم بعد اون پوینتر ی که تعریق کردیم رو به این ادرس پوینت میکنیم . البطه بدون استفاده از متغیر addr و کست کردن اون هم باید بشه ولی من تاحالا با کدویژن تست نکردم این موردو پس رعایت احتیات زروری .
        فتو بلاگ من
        کاردستی ها :
        روبات شطرنج باز ( یادگار دوران جوانی )
        فارسی نویسی مستقیم در نمایشگر های گرافیکی
        کتابچه خود آموز زبان توصیف سخت افزار Verilog

        دیدگاه


          #5
          پاسخ : چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVision

          اولا چرا با تعریف const اسم مستعار به مکان حافظه نمیدید و خودتون رو راحت نمی کنید؟
          مثلا:

          کد:
          const int CalibrationCode = 0xF067;

          در ضمن غیر از راهی که آقای جهاندار فرموند می تونید از دستور اسمبلی LPM استفاده کنید (برای جزئیات مراجعه کنید به Instruction Set).
          There is nothing so practical as a good theory. — Kurt Lewin, 1951

          دیدگاه


            #6
            پاسخ : چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVis

            -
            حضرت علي (ع) : خداوند از جاهلان پيمان فراگيرى علم نگرفته ، مگر آنكه قبلا از دنشمندان پيمان تعليم دادن گرفته است .

            دیدگاه


              #7
              پاسخ : چگونگی خواندن یک بایت از یک آدرس مشخص از حافظه Flash در نرم افزار CodeVision

              با این دستور LPM به لوکاپ تیبل هم میشه دسترسی داشت.ولی اول باید آدرس مکانی که جدول از اونجا شروع میشه رو بدونیم.موقع کد نویسی چطور میشه فهمید آدرس ابتدای جدول چیه که اونو تو Z بریزیم و به دیتای داخل جدول دسترسی داشته باشیم؟

              دیدگاه

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