سلام دوستان
من میخوام یک constant را در برنامه keil در حین اجرا ی برنامه میکرو تغییر بدم . آیا امکانش هست .
مثلا در برنامه کار با شبکه میخوام ای پی سخت افزار رو در حین اجرا تغییر بدم اما هرکاری میکنم توی کامپایلر خطا میده .
سلام دوستان
من میخوام یک constant را در برنامه keil در حین اجرا ی برنامه میکرو تغییر بدم . آیا امکانش هست .
مثلا در برنامه کار با شبکه میخوام ای پی سخت افزار رو در حین اجرا تغییر بدم اما هرکاری میکنم توی کامپایلر خطا میده .
خوب چرا ایپرام خارجی استفاده نمیکنی
و هر كس از ياد [خداى] رحمان دل بگرداند، بر او شيطانى مىگماريم تا براى وى دمسازى باشد. (36)و مسلّماً آنها ايشان را از راه باز مىدارند و [آنها] مىپندارند كه راه يافتگانند. (37)تا آن گاه كه او [با دمسازش] به حضور ما آيد، [خطاب به شيطان] گويد: «اى كاش ميان من و تو، فاصله خاور و باختر بود، كه چه بد دمسازى هستى!» (38)(سوره زخرف)بگو: «پليد و پاك يكسان نيستند، هر چند كثرت پليد [ها] تو را به شگفت آوَرَد. پس اى خردمندان، از خدا پروا كنيد، باشد كه رستگار شويد.» (100)(سوره مائده(
مشکل من تغییر مقدار const هست توی برنامه
مثلا const int x=10;
حالا میخوام مقدار x رو توی برنامه تغییر بدم البته x باید حتما const باشه چون توی اون کتابخانه فقط باید const تعریف بشه نمیشه متغییر تعریف کنم خطا میده
نمیدونم تونستم منظورم رو بگم یا نه
اصلا شما نمیتونی مقدار Const رو تو سی تغییر بدی .....
از eeprom استفاده کن
ویرایش توسط behnam6500 : 05-10-2016 در ساعت 22:55
سلام
مقدار const رو تو برنامه های کامپیوتری میشه با cast کردن تغییر داد. اما توی کیل چون مقادیر const رو توی فلش مینویسه موقع تغییر مقدار یه hard fault ایجاد میشه و عملا بازم نمیشه تغییرش داد.
من میخوام این مقادیر رو توی برنامه تغییر بدم
این مقادیر ip سخت افزار هست توی شبکه که توی کتابخانه ی net_config.c هست در میکروی lpc1768کد:#define _IP1 192 #define _IP2 168 #define _IP3 1 #define _IP4 11
ماکرو رو نمیتونید در زمان اجرا تغییر بدید.
به صورت متغیر تعریف کنید.