Очистка memset

Тема в разделе "Arduino & Shields", создана пользователем AngelLeo, 22 июл 2016.

  1. AngelLeo

    AngelLeo Нуб

    Доброго времени суток.

    Возникла пролбема

    есть код

    Код (C++):
    01 unsigned int irSignal[67]; // выделяем память под массив целых
    02  memset(irSignal, 0, sizeof(unsigned int) * 67); //обнуляем массив
    03  unsigned char index = 0;
    04  while (dataFile.available()) { // Проверяем что файл не пустой
    05  unsigned char ch = dataFile.read();
    06  if ((ch >= '0') && (ch <= '9')) {
    07  irSignal[index] *= 10;
    08  irSignal[index] += ch - '0';
    09  } else if (ch == ',') {
    10  index++;
    11  }
    12  if (index >= 67) break;
    13  }
    14  irsend.sendRaw(irSignal, 67, 38);
    В котором происходит загрузка в буффер кода кнопки пульта после чего идет отправка.

    Все срабатывает на ура но проблема в том, что буфер не очищается после отправки.

    выглядит это так

    freeMemory()=698 свободно паняти при загрузке программы
    freeMemory()=667
    freeMemory()=636
    freeMemory()=605
    freeMemory()=574
    freeMemory()=543
    freeMemory()=512
    freeMemory()=481
    freeMemory()=450
    freeMemory()=419
    freeMemory()=388
    freeMemory()=357
    freeMemory()=326
    freeMemory()=295
    freeMemory()=264 после 15 команды висяк ардуинки из за нехватки памяти.
    как очистить memset без хардресета.
     
  2. AngelLeo

    AngelLeo Нуб

    Вопрос решен. Проблема была в том, что не закрывался dataFile.