اطلاعیه

Collapse
No announcement yet.

حلقه for تو عمل کار نمی کنه !!!

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

    حلقه for تو عمل کار نمی کنه !!!

    سلام
    من یه برنامه که توش یه متغیر از نوع char با 126 تا عضو هستش، همینطور دو تا هم کارکتر از نوع char درست کردم. حالا با کمک یه حلقه for می خوام یه سری از اعضای متغیر اولم رو تو متغیرهای دیگه کپی کنم. تو شبیه سازی پروتئوس مثل بنز :icon_razz: کار میکنه و نتایجه رو درست نشون میده، اما تو عمل هیچ اتفاقی نمی افته !!! :angry:
    تیکه کدش رو هم براتون میزارم. به نظرتون مشکل از چیه ؟
    کد:
    .
    .
    .
    unsigned char eepromtable[126]={
    0x00,0x58,0x00,0x05,0x00,0x9C,0x80,0x3C,0x00,0x00,0x84,0xB3,0x18,0x00,0x54,0xC2,0x08,0x00,0x80,0x29,0x00,0x47,0x80,0x18,
    0x00,0x58,0x00,0x05,0x00,0x8C,0x80,0x3C,0x00,0x00,0x84,0xB3,0x18,0x00,0x54,0xC2,0x08,0x00,0x80,0xC9,0x00,0x36,0x00,0x00,
    0x00,0x10,0x01,0x90,0x00,0x00,0x03,0x00,0x03,0x00,0x04,0x61,0x00,0x00,0x00,   
    0x00,0x20,0x01,0x90,0x00,0x00,0x03,0x00,0x03,0x00,0x04,0x10,0x00,0x00,0x00,                   
    0x00,0x40,0x01,0x90,0x00,0x00,0x03,0x00,0x03,0x00,0x04,0x10,0x00,0x00,0x00,
    0x00,0x80,0x01,0x90,0x00,0x00,0x03,0x80,0x43,0x00,0x04,0x39,0x99,0x99,0x99,0x0A,0x3F,0x5C,0x28,0xF5,
    0x08,0x00,0x00,0x64,0xAA,0x09,0x00,0x00,0x7D,0xD4,0x07,0x01,0x01
    };
    unsigned char D1[45];
    unsigned char D2[33];
    .
    .
    .
    // Read data from eepromtable initial values
    for (i=48;i<=125;i=i+1) {
      if (i<=93) D1[(i-48)]=eepromtable[i];
      else D2[i-94]=eepromtable[i]; 
      }
    .
    .
    .
    // Write into eepromtable new values
    for (i=48;i<=125;i++) {
        if (i<=93) eepromtable[i]=D1[i-48];
        else eepromtable[i]=D2[i-94];
        }
    .
    .
    .
    ---------
    .
    .
    ...........

    #2
    پاسخ : حلقه for تو عمل کار نمی کنه !!!

    از کجا میدونی هیچ اتفاقی نمی افته؟!
    در ضمن اون متغیری که اسمش eepromtable هست داخل RAM ذخیره شده (نه eeprom ) و با قطع تغذیه از بین میره

    دیدگاه


      #3
      پاسخ : حلقه for تو عمل کار نمی کنه !!!

      اون متغیر بله، تو رم ذخیره میشه. اما بعدا قراره بیارمش تو حافظه E2PROM. راستی برای خوندن و نوشتن تو حافظه EEPROM با حلقه for نیازی به تاخیر هست ؟
      خوب تو عمل وقتی میخوام یکی از مقادیر D2 رو بخونم، هیچی نشون نمیده. مثلا میگم که [PORTA=D2[5 ، اما رو پورت هیچی نیست !!!
      [D2[i-3 با [(D2[(i-3 فرق داره ؟
      ممنون از اینکه جواب میدی :nice:
      ---------
      .
      .
      ...........

      دیدگاه


        #4
        پاسخ : حلقه for تو عمل کار نمی کنه !!!

        1- نه کامپایلر خودش اعمال میکنه
        2- تنظیمات پورتت درسته؟
        3- نه فرقی نداره

        دیدگاه

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