как создать локальный массив внутри функции

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015
   tm1628();
 }
 /* вожможно ли создания локального массива внутри функции, все операции с массивом выполняются в теле функции,
у меня не получается, компилятор не пропускает, возможно дело в синтаксе, пробовал разные варианты.
*/
   void tm1628()
   {
    
  //  byte led[14]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//массив дисплея
   //}

  for(int i=0; i<14; i++){//  очистка дисплея
    led[i]=0x00;
  }

  //delay (300);

 // разбивка числа на цифры и формирование массива для вывод на led в виде 123  1234
 //                   выводим 3 цифры
 byte n1=x/100;//     1-я цифра
 kodd(0x01,n1);//     подготовка вывода на led 1
 byte n2=(x/10)%10;// 2-я цифра
 kodd (0x02,n2);//    подготовка вывода на led 2
 byte n3=x%10;//      3-я цифра 
 kodd (0x80,n3);//    подготовка вывода на led 3
 //                   выводим 4 цифры

 

maksim
Offline
Зарегистрирован: 12.02.2012

Компилятор прям так и пишет "Не пропущу!"

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

oleg_kazakof, от чего возник такой вопрос?

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

необходима функция (подпрограмма), которую можно без особой проблеме интегрировать в любой скетч.

 

maksim
Offline
Зарегистрирован: 12.02.2012

Что ж у вас все так туго то?

void setup() {                
  pinMode(13, OUTPUT);     
}

void loop() {
  Function();
}


void Function()
{
  byte led[14]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  for(int i=0; i<14; i++){//  очистка дисплея
    led[i]=0x00;
  } 
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

У меня компилятор пишет "Пропускаю".