پاسخ : سوال در مورد آدرس رجیستری موجود در دیتا شیت
در معماری avr ما ریجستر به معنای واقعی نداریم بلکه یک آدرس از فضای sd ram است
در برنامه ها هم که شما از ریجستر ها استفاده میکنید - با کامپایل شدن تبدیل به همون آدرس میشه
تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
داشتن عقله زیادتر از دیگر آدم ها است
پاسخ : سوال در مورد آدرس رجیستری موجود در دیتا شیت
این اتمل از کلمه ریجستر برای هر موجود جاندار و بیجان استفاده میکنه همین مشکل اسم گذاری پدر من رو تو یادگیری آرم در آورد بماند
حالا شاید این ریجستر دسترسی به ایپرام باشه به هر حال بهتره رم مپ اتمل رو نگاه کنی ولی آدرس ریجستر های همه صفر شروع میشه تا 32 یا همون 20 شانزدهی
این جا رو بخون
As shown in Figure 4, each register is also assigned a data memory address, mapping them
directly into the first 32 locations of the user Data Space. Although not being physically implemented
as SRAM locations, this memory organization provides great flexibility in access of the
registers, as the X-, Y-, and Z-pointer Registers can be set to index any register in the file.
تنها موردی که همه آدما یقین دارن خدا در حقش زیاد لطف کرده
داشتن عقله زیادتر از دیگر آدم ها است
پاسخ : سوال در مورد آدرس رجیستری موجود در دیتا شیت
شما در دیتاشیت قطعات اتمل مثلا atmega32 به قسمت memories>> SDRAM data memory
یه نگاه بنداز.
در نگاشت حافظه memory map این میکرو ها ابتدا رجیسترهای داخلی میکرو قرار دارند . بعد I/O رجیسترها قرار دارند که برای کار با قسمتهای مختلف میکرو مثلا A/D , timer استفاده میشن و بعد حافظه ram برای داده که مثلا برای ذخیره متغیرها ازش استفاده میشه.
هر کدوم از این سه قسمت یه شماره داخلی در لیست خودشون دارند (همون عدد اول)
و یه عدد دیگه که مجموع این سه قسمت کنار هم دیگه ست
پاسخ : سوال در مورد آدرس رجیستری موجود در دیتا شیت
همانطور که دوستان توضیح دادند رجیسترهای I/O در فضای SRAM و در محدوده آدرس های 20$ به بعد قرار می گیرند. برای خواندن و نوشتن در این رجیسترها یک روش استفاده از دستورات اسمبلی LDS/LDD/LD و STS/STD/ST است که در این شرایط آدرس رجیسترها در SRAM در محتوای دستور قرار داده می شود (مثلا 20$ برای اولین رجیستر I/O). اما یکسری دستورات اسمبلی خاص این ناحیه وجود دارد که آدرس مورد استفاده در این دستورات، همان آدرس مطلق رجیستر در فضای SRAM نیست. بلکه آدرس دیگری به عنوان آدرس I/O برای این محدوده وجود دارد که 32 واحد کمتر از آدرس در SRAM است. به همین دلیل رجیستری که در SRAM دارای آدرس 5F$ است، از نظر آدرس I/O دارای آدرس 3F$ است. در همین رابطه دستورات اسمبلی IN و OUT روی 64 بایت اول فضای I/O (با شروع آدرس از صفر) و دستورات SBI و CBI و SBIS و SBIC روی 32 بایت اول این فضا عمل می کنند. برای شماره هایی مثل mega64 که تعداد رجیسترهای I/O بیش از 64 بایت است، دسترسی به رجیسترهای بالاتر از 64 بایت اول از طریق همان دستورات LDS/LDD/LD و STS/STD/ST قابل انجام است.
اوژن: به معنای افکننده و شکست دهنده است
دانایی، توانایی است-Knowledge is POWER
برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد
دیدگاه