پاسخ : نکاتی در برنامه نویسی C (کامپایلر IAR)
در محل مورد اشاره توسط x هر مقداری که در هنگام پروگرم کردن در آن نوشته شده، قرار دارد (چون اشاره گر به حافظه flash اشاره می کند). آنچه که در پرانتز قرار می گیرد تنها نوع عبارت بعد از خود را تعیین می کند و نباید معنای آن با * قبل از آن اشتباه گرفته شود. مثلا
یعنی 0x1000 آدرس مورد اشاره به یک بایت است و
بایتی است که در آدرس 0x1000 در هنگام پروگرم شدن برنامه ریزی شده است. عبارت مورد اشاره شما یک ماکرو برای دسترسی به آدرس های مورد نظر در flash است که در جایی که این دسترسی مورد نظر باشد می تواند مورد استفاده قرار بگیرد.
در محل مورد اشاره توسط x هر مقداری که در هنگام پروگرم کردن در آن نوشته شده، قرار دارد (چون اشاره گر به حافظه flash اشاره می کند). آنچه که در پرانتز قرار می گیرد تنها نوع عبارت بعد از خود را تعیین می کند و نباید معنای آن با * قبل از آن اشتباه گرفته شود. مثلا
کد:
(unsigned char __flash *) 0x1000
یعنی 0x1000 آدرس مورد اشاره به یک بایت است و
کد:
*(unsigned char __flash *) 0x1000
بایتی است که در آدرس 0x1000 در هنگام پروگرم شدن برنامه ریزی شده است. عبارت مورد اشاره شما یک ماکرو برای دسترسی به آدرس های مورد نظر در flash است که در جایی که این دسترسی مورد نظر باشد می تواند مورد استفاده قرار بگیرد.
دیدگاه