ايران ويج

نسخه‌ی کامل: مشکل با نوع String در کدویژن
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
با سلام.
من می خام یه متن توی LCD بنویسم.
بخش اصلی کد برنامه من اینه:
کد:
void main(void)
{
char *str1;
str1="sss";
lcd_puts(str1);
}

همش از خط مربوط به lcd_puts ارور می گیره!
واقعا اعصابم رو خرد کرده.بسکام بدبدخت این مشکلات رو نداشت.
مشکل این کد چیه؟چرا همش ارور می زنه؟
یادم رفت بگم.وقتی کد رو به صورت زیر تغییر می دم برنامه به خوبی و خوشی کار می کنه.
کد:
void main(void)
{
char *str1="sss";
lcd_puts(str1);
}
ماله اینه که اینجا همه چیز حساب کتاب داره :wink:
تو برنامه اول یه اشاره گر به ram تعریف کردی بعد می خوای یه متغیر از حافظه flash رو توش بریزی که نمی شه
تو روش دوم متغیر به ram تعریف شده و مقدار دهی اوله می شه پس مشکلی نیست
ولی اگه به خوای به شکل اول بنویسی
کد:
char str1;
str1="sss";
lcd_puts(&str1);
متغیر رو اشاره گر تعریف نکن تا تو خط دوم موقع مقدار دهی مشکل نداشته باشه و در خط سوم برای ارسال به تابع آدرسش رو بفرست
از پاسختون ممنونم.
ولی کدویژن از کد شما هم ارور می گیره.
فکر کنم به خاطر اینه که توی خط دوم به نوع کاراکتر مقدار String نسبت می دیم.

کد:
char str1;
str1="sss";
lcd_puts(&str1);

نهایتا مجبور شدم از کد زیر استفاده کنم:
کد:
char str1[33];
strcpyf(str1,"sssss");
lcd_puts(str1);
روش اول رو من توی کدویژن خودم امتحان کردم کار می کرد
شما کدوم ورژن رو داری؟
البته روش آخر که خودت نوشتی اصولی تره
ha_60 نوشته است:روش اول رو من توی کدویژن خودم امتحان کردم کار می کرد
شما کدوم ورژن رو داری؟
البته روش آخر که خودت نوشتی اصولی تره
من نسخه 1.25.5 رو دارم و روی اون امتحان کردم.
با تشکر از زحمتی که می کشید.
سلام دوست عزیز شما بدون به کار بردن متغیر string میبتوانید از یک ثابت عادی(به شرط اینکه رشته ثابت بخواهید نه متغیر) به شکل آرایه در فضای فلش استفاده کنید در صورتی که بیش از یک حرف را بخواهید استفاده کنید من از این روش زیاد استفاده کرده ام به صورت شکل زیر
مثلا
u08 flash Music_Folder []={'M','U','S
{
که در این صورت ما یک نام سه حرفی اختیار کرده ایم البته این یک پیشنهاد هست و در کاربرد خاصی که من داشتم کار میکرد و برای من خوب بودفقط بدیش اینکه برای هر یک حرف یک متغیر استفاده میشه و حسنش اینکه دیگه ار فضای متغیر استفاده نمیکنی چون این ثابت است و نقش متغیر نداره.
موفق باشید
صفحه‌ها: 1 2