اطلاعیه

Collapse
No announcement yet.

مشکل برنامه نویسی در CodeVisionAVR

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل برنامه نویسی در CodeVisionAVR

    سلام و عرض ادب
    من یه برنامه ای رو قبلا نوشته بودم.ولی الان که این برنامه رو دوباره میخوام بنویسم و Bulid کنم ارور میده چند بار برنامه رو بستم و دوباره باز کردم و برنامه رو نوشتم.
    جالب اینه که هر بار یک ارور میده که باهم فرق دارن.مثلا یکبار به goto s1 ارور داد دفعه آخر هم به ddrb=0xff
    برنامه هم اینه
    #include <mega16.h>
    #include <delay.h>
    unsigned char h,s,d,y;
    void main(void)
    {
    DDRA=0xFF
    DDRB=0xFF
    DDRC=0xFF
    DDRD=0xFF
    s1:
    y++;
    if(y==10)
    {
    y=0;
    d++;
    if(d==10)
    {
    d=0;
    s++;
    if(s==10)
    {
    s=0;
    h++;
    if(h==10)
    h=0;
    }}}
    PORTA=y;
    PORTB=d;
    PORTC=s;
    PORTD=h;
    delay_ms(250);
    goto s1;
    }

    #2
    پاسخ : مشکل برنامه نویسی در CodeVisionAVR

    سلام
    1 در کد نویسی امروزه برای دوری از خطا کمتر از goto استفاده میشه برای تشکیل حلقه از for یا while استفاده کنید
    2 برای DDR از نقطه ویلگول (فارسی را پاس بداریم) استفاده نکرده بودید که الزامی است
    این برنامه را تست کنید
    #include <mega16.h>
    #include <delay.h>
    unsigned char h = 0, s = 0, d = 0, y = 0;

    void main(void) {
    DDRA = 0xFF ;
    DDRB = 0xFF ;
    DDRC = 0xFF ;
    DDRD = 0xFF ;
    while (1) {
    PORTA = y;
    PORTB = d;
    PORTC = s;
    PORTD = h;
    y++;
    if (y == 10) {
    y = 0;
    d++;
    if (d == 10) {
    d = 0;
    s++;
    if (s == 10) {
    s = 0;
    h++;
    if (h == 10)
    h = 0;
    }
    }
    }

    delay_ms(250);
    }
    }
    ویرایش شد
    جدیدترین ویرایش توسط gasemi.m100; ۰۱:۳۴ ۱۳۹۷/۰۹/۱۳.

    دیدگاه


      #3
      پاسخ : مشکل برنامه نویسی در CodeVisionAVR

      من یه بار با حلقه نوشتم اما جواب اشتباهی گرفتم.
      الان هم برنامه شما رو نوشتم بعد موقع build به آکولاد بعدwhile و آکولاد آخر اشتباه میگیره.
      Error: D:\New folder (2)\123.c(42): no final '}'
      این پیام رو میده.
      نرم افزار هم میدونم مشکل نداره باهاش چندتا برنامه نوشتم.
      حالا که یه همچون چیزی رو میخوام هی ارور میده
      جدیدترین ویرایش توسط ali.moonesan; ۰۲:۴۸ ۱۳۹۷/۰۹/۱۲.

      دیدگاه


        #4
        پاسخ : مشکل برنامه نویسی در CodeVisionAVR

        نوشته اصلی توسط ali.moonesan نمایش پست ها
        من یه بار با حلقه نوشتم اما جواب اشتباهی گرفتم.
        الان هم برنامه شما رو نوشتم بعد موقع build به آکولاد بعدwhile و آکولاد آخر اشتباه میگیره.
        Error: D:\New folder (2)\123.c(42): no final '}'
        این پیام رو میده.
        نرم افزار هم میدونم مشکل نداره باهاش چندتا برنامه نوشتم.
        حالا که یه همچون چیزی رو میخوام هی ارور میده
        اره ببخشید من برنامه رو تست نکردم دیشب چون با سیستم نبودم و در حال خواب بودم. این اشتباهی که میگیره برای اینه که یه اکولاد که مربوط به main هست رو کم گذاشتم بذارید اباید درست شه این دفعه تست کردم
        در ضمن متغیر ها تو این مورد حتما باید مقدار اولیه بدی چون اینجور که از برنامت معلومه شمارنده هست و اگر مقدار اولیه ندی ممکنه که مقدار تصادفی تو حافظه باشه و برنامه رو دچار مشکل کنه
        جدیدترین ویرایش توسط gasemi.m100; ۰۱:۳۱ ۱۳۹۷/۰۹/۱۳.

        دیدگاه


          #5
          پاسخ : مشکل برنامه نویسی در CodeVisionAVR

          دمت گرم.اونو پیدا کردم اوکی کردم.
          من دانشجوی مهندسی پزشکیم این ترم AVR دارم سرکلاسش نرفتم یه سری کارارو دارم میکنم جواب میده. یه سری هام به مشکل میخوره.
          دمت گرم بابت کمک

          دیدگاه

          لطفا صبر کنید...
          X