۱۱-آذر-۱۳۹۰, ۱۴:۰۰:۲۰
نقل قول: دوست عزیز من برنامه را چک کردم و مشکلش به خاطر اینکه چون بسکام در این پروژه از توابعی استفاده می کنه که رجیستر های z,x را هم اشغال می کنه به خاطر این نیازمند میکروی با رم بالاتر هستش تا به اشاره گر ها دسترسی داشته باشه و ممیکروی atmega16/32/6 همچین رمی را ندارند و میکرو با رم بالاتر نیاز داره مثل atmega128/64 ولی اگه شما همین برنامه رو با زبان c می نوشتید نیازمند همچین فضایی نبود و به راحتی در atmega8 هم جا می شد
هر ميكروي AVR اي ( Atmega ) سه تا اشاره گر داره كه x,y,z هستن. اينها به فضاي رم مي تونن اشاره كنن و براي خوندن و نوشتن در ريجسترها هستن و اشغال شدني نيستن !!
حتي اگر توابع بسكام از اين pointer ها استفاده كنه ... ( كه طبيعي هم هست )
هر كاري رو كه انجام بده بعدش آزادهه ...
نقل قول: error: 202 line: 38 .EQU not found , probably using function that are not supported by the selected chip[RAMPZ] c]
تو ترجمه ارور هم نوشته که احتمالا تابعی که استفاده کردید به وسیله این چیپ ساپورت نمی شه
به نظر من اصلا ربطی به فضای رم نداره به نظرم برنامه شما از پورتی استفاده می کرده که در چیپ قبلی وجود نداشته (البته شاید)
چون .EQU not found بیشتر مربوط به فضا های رجیستری میکرو میشه مثل تایمر-پورت-پین
اگه برنامه کاملت رو می زاشتی بهتر می تونستم کمکت کنم
دقيقا ... ، به وسيله ي اين چيپ ساپورت نمي شه ...
استفاده از RAMPZ باعث ايجاد ارور شده ...
حتما كاري كه مي كنيد داره از RAMPZ استفاده مي كنه كه مربوط به ATmega64 به بالا مي شه و چون فضاي RAM اشون از 512 بيشتر هست ، اين RAMpz به اول pointer ها اضافه مي شه تا بتونه به خانه هاي بيشتري از حافظه اشاره كنه و ... ( داستان همون extended RAm و ... )
احتمالا تو همين بسكام بتوني درستش كني ...
من تو اين زمينه ( GLCD ) هنوز كار نكردم ، اما برو تو قسمت لايبرري اي كه استفاده كردي و طبق توضيحاتش احتمالا بايد يه جايي داشته باشه كه بتوني محدودش كني كه از RAMPZ استفاده نكنه ... .
البته قبلش يه كپي ازش بگير كه اگر خراب كاري كردي ، بتوني جايگزينش كني ...
موفق باشي.
يا علي.