NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4963 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 7 از 7

موضوع: مشكل دربرنامه نويسي

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2010
    نام
    تهران
    نوشته ها
    71
    تشکر
    35
    تشکر شده 7 بار در 6 پست

    Icon16 مشكل دربرنامه نويسي

    سلام ،من قبلا سوالمو فرستاده بودم ولي الان مي بينم كه نيست براي همين دوباره ميفرستم من يه برنامه نوشتم به اين صورت كه 48 رديف داشته باشه و سه تا ستون به اين ترتيب كه ستون اول زمان نشون بده ستون دوم مربوط به كانال هاي adc از كانال 0 تا كانال 8 باشه ة وبرنامه من اين طور كار ميكنه كه هر نيم ساعت يكبار مقدار خروجي اين كانال ها رو ميخونه و مقدارشونو روي lcd نشون بده ولي برنامه اي كه نوشتم error هاي زيرو ميده در ضمن برنامه رو هم پيوست مي كنم ،خواهش مي كنم كه كمكم كنيد . ممنون
    project.c(17): error: #65: expected a ";"
    project.c(17): error: #29: expected an expression
    project.c(17): error: #65: expected a ";"
    project.c(19): error: #65: expected a ";"
    project.c(19): error: #29: expected an expression
    project.c(19): error: #65: expected a ";"
    project.c(54): error: #29: expected an expression
    فايل هاي پيوست شده فايل هاي پيوست شده

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    یه اشتباه کوچیک کردید .همون طور که خود ارور هم گفته ، تو تعریف حلقه های for باید از ; (سمی کلن) استفاده کنید نه , .

  4. کاربران : 3 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2010
    نام
    تهران
    نوشته ها
    71
    تشکر
    35
    تشکر شده 7 بار در 6 پست

    پیش فرض

    خيلي خيلي ممنون از كمكتون ،يه سوال ديگه من تابع time كه تعريف كردم مي خوام ساعت،دقيقه،ثانيه براي من برگردونه براي همين داخل پرانتز return بايد چي بزارم چون كه براي اون ديگه فقط error ميده.
    project.c(54): error: #29: expected an expression
    بازم ممنون

  6. #4
    مدیر انجمن farzadsw آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    تهران
    نوشته ها
    485
    تشکر
    105
    تشکر شده 745 بار در 309 پست

    پیش فرض

    تو برنامه ای که گذاشتید تابع time نباید چیزی رو برگردونه. برگدونه تا کجا استفاده بشه ؟
    اون ارور هم برای این هست که داخل پرانتز return باید متغییر با عدد بگذارید نه کلمه کلیدی int ، مثلا بگذارید return(1) ارور نمیده.

  7. کاربران : 2 تشکر کرده اند از شما farzadsw برای ارسال این پست سودمند:


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2010
    نام
    تهران
    نوشته ها
    71
    تشکر
    35
    تشکر شده 7 بار در 6 پست

    Exclamation

    سلام
    من توي اين برنامه اي كه نوشتم مي خوام زمان هم ببينم ولي وقتي برنامه رو پروگرام مي كنم ساعت من كار نمي كنه(فقط همون زماني كه اول تنظيم كردم نشون ميده) ، اشكال توي برنامه اي كه نوشتتم نمي دونم چطوري بايد از تابع time و در كجا استفاده كنم تا مشكل حل بشه.اگه منو راهنمايي كنيد خيلي ممنون ميشم.به كمكتون خيلي نياز دارم.
    فايل هاي پيوست شده فايل هاي پيوست شده

  9. #6
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2010
    نام
    تهران
    نوشته ها
    71
    تشکر
    35
    تشکر شده 7 بار در 6 پست

    Icon16

    سلام
    كسي به من كمك نمي كنه؟خيلي به راهنماييتون احتياج دارم

  10. #7
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    اگه مقدار به برنامه ای که نوشتید دقت کنید ، مشاهده میکنید که :
    کد:
    while(1)
    {
    int time();
    قبل از این دستورات مواردی مثل adc و lcd پیکربندی شده که من پیشنهاد میکنیم از آخرین ورژن های هدر ارائه شده در مجلات 2 و3 ( ویرایش دوم ) استفاده کنید . ( البته در اینجا این بخش مشکلی نداره )
    بعد از این دستورات چند تا دستور دیگه وجود داره که مقدار یک کانال از adc رو میخونه و ...
    اما دستور int time() :
    با این دستور تابعی به نام int time فراخوانی میشه . در این تابع یک حلقه ی بینهایت while وجود داره که cpu به اون میره و دستورات زیر رو اجرا میکنه و با دستور return از اون خارح میشه و به حلقه ی اصلی برمیگره :
    [HTML]int time(void)
    {
    while(1)
    {
    delay_ms(999);
    sec++;
    if (sec==60)
    {
    min++,sec=0;
    }
    if (min==60)
    {
    hur++,min=0;
    }
    if (hur==24)
    {
    hur=0;
    }
    lcd_gotoxy(1,1);
    lcd_putsf(" : : ");
    lcd_puts(hur);
    lcd_gotoxy(1,4);
    lcd_puts(min);
    lcd_gotoxy(1,7);
    lcd_puts(sec);
    return(1);
    }
    }[/HTML]

    در برنامه بالا نیازی به حلقه ی while نبود و... . با برگشتن cpu به حلقه ی اصلی دستور start_adc(); اجرا میشه تا adc فعال بشه و در نهایت cpu برای 1800 ثانیه در حلقه ی زیر گیر میکنه و دیگه به تابع int time شما نمیره تا زمان رو تغییر بده و اینجاست که :
    وقتي برنامه رو پروگرام مي كنم ساعت من كار نمي كنه(فقط همون زماني كه اول تنظيم كردم نشون ميده)
    کد:
    for(j=0 ;j<48 ;j++);
    {
      for (i=0 ;i<8;i++);
      {	
            a=read_adc(i);
    	lcd_gotoxy(2,i);
    	lcd_puts(a);
            delay_s(60);
       }
    	delay_s(1800);
     }
    برای رفع کردن اشکال فوق کافیه دستور int time(); را از مکان قعلیش کات کنید و به زیر دستور lcd_puts(a); منتقل نمایید . در این حالت مشکل رفرش زمان حل میشه .

  11. کاربران : 2 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


موضوعات مشابه

  1. کدنويسي وقفه
    توسط Amirkhan_0o0 در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 13-01-2013, 03:29
  2. كمك در برنامه نويسي arm
    توسط منصوره$ در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 8
    آخرين نوشته: 22-02-2011, 23:12
  3. برنامه نويسي به زبان جاوا
    توسط Division در انجمن برنامه نویسی کامپیوتر/کنترل با کامپیوتر
    پاسخ: 2
    آخرين نوشته: 28-01-2011, 01:08
  4. برنامه نويسي تابلو روان
    توسط mostafamega16 در انجمن برنامه نویسی کامپیوتر/کنترل با کامپیوتر
    پاسخ: 3
    آخرين نوشته: 20-01-2011, 16:07
  5. پاسخ: 23
    آخرين نوشته: 27-06-2009, 19:40

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •