سلام
میخواستم یه عدد رو بزارم تو eeprom با دستور
که مشابه eeprom jتو کد ویژن هستش اما جواب نمیده و میگه eeprom تو intel standard نمیاد :
نمیدونم باید چی کار کنم منابع انگلیسیم گشتم چیزی دستگیرم نشد avr freack و .. هم گشتم اما چیزی دستگیرم نشد
تو user guid خود iar هم همین شکل رو داشت دقیقا اما بدون error
به صفحه Linker که میرم و output رو factory reset میکنم کمپایل میشه اما دیگه hex نمیده!!که ببینم کمپایل کرده اصلا درسته برنامم یا نه ! مثل اینکه تو datasheet iar هم یا خروجی پیش فرض جواب گرفته اما hex نمیده که تو پروتئوس بریزم . avr studio هم که یاهاش پروگرم میکنم این پسوند d90 رو نمیشناسه . اچمز شدم اگه این مشکل حل نشه باید بیخیال این کمپایلر بشم چون خیلی با eeprom کار دارم اما چند روز وقت گذاشتم همه هدراشو نوشتم دلم خیلییییی میسوزه
یه کتاب iar arm هم خونه دارم اما دریغ از یه مثال کار با eeprom !
این کدمه:
عین همین برنامه تو codevision جواب میده
میخواستم یه عدد رو بزارم تو eeprom با دستور
کد:
__eeprom
کد:
Error[e133]: The output format intel-standard cannot handle multiple address spaces. Use format variants (-y -O) to specify which address space is
تو user guid خود iar هم همین شکل رو داشت دقیقا اما بدون error
به صفحه Linker که میرم و output رو factory reset میکنم کمپایل میشه اما دیگه hex نمیده!!که ببینم کمپایل کرده اصلا درسته برنامم یا نه ! مثل اینکه تو datasheet iar هم یا خروجی پیش فرض جواب گرفته اما hex نمیده که تو پروتئوس بریزم . avr studio هم که یاهاش پروگرم میکنم این پسوند d90 رو نمیشناسه . اچمز شدم اگه این مشکل حل نشه باید بیخیال این کمپایلر بشم چون خیلی با eeprom کار دارم اما چند روز وقت گذاشتم همه هدراشو نوشتم دلم خیلییییی میسوزه
یه کتاب iar arm هم خونه دارم اما دریغ از یه مثال کار با eeprom !
این کدمه:
کد:
#include <ioavr.h> __eeprom char epr; void main() { DDRB=0x00; DDRD=0xff; DDRA=0x00; while(1) { if((PINA&0x01)==0x01) { epr=PINB; while(!(PINA&0x01)); } else { PORTB=epr; } } }
دیدگاه