Ткните, где неправ

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Уважаемые господа! Подскажите, где ошибка. Мучаюсь пару часов и ничего не понимаю. Кусок программы по кнопочке увеличивается переменная StageZat, при прохождении границы нулится. Ничего особенного. НО! Если я включаю функцию dtostrf(), то переменная обнуляется, комментирую ее - все работает штатно. Башку сломал.

  uint8_t StageZat;
newButton_select=digitalRead(Button_select);
  if (newButton_select!=oldButton_select){
    oldButton_select=newButton_select;
    if(newButton_select){ //выбираем следующий режим
      Serial.println(StageZat);
      StageZat++;
       
      if (StageZat>3)StageZat=0;
      flagOffSound=false;
      
      lightStrobe=0;  
      lcd.backlight();  
      flagBackLight=true; 
      lcd.setCursor(0,0);
      lcd.print("Tset=");
      lcd.setCursor(5,0);
      lcd.print("           ");
      lcd.setCursor(5,0);
      Serial.println(StageZat); //тут не ноль
      float Ttemp=Tzatir[StageZat];
      
      dtostrf(Ttemp, 4, 1, Tchar);
//       
      lcd.print((int)Ttemp);
      lcd.print((char)223);
      lcd.print("C");
      Serial.println(StageZat);    //тут ноль 
      
     
    }
  }

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Tchar где и как обьявлен?

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

mykaida пишет:
включаю функцию dtostrf(), то переменная обнуляется, комментирую ее - все работает штатно

Порча памяти, очевидно же.

много ли по программе lcd.print( и чтото в кавычках ); ? У меня была эта непонятка на попытке сделать меню в RFId-репликаторе. По возможности избавиться переложив во флеш PROGMEM и читать pgm_read_byte(). Или ещё есть какой-то макрос F() но я не знаю как там правильно пишется.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

DetSimen пишет:

Tchar где и как обьявлен?

Глобальная переменная char Tchar[4];

Хотя мысль понял - сейчас попробую.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

mykaida пишет:

Глобальная переменная char Tchar[4];

обьяви его хотя бы для начала длиной в 6

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

DetSimen пишет:

mykaida пишет:

Глобальная переменная char Tchar[4];

обьяви его хотя бы для начала длиной в 6

 

Спасибо, так и сделал! Туплю что-то.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

и чо, заработало?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

DetSimen пишет:

и чо, заработало?

Ага! Видимо вчера было немного лишнего принято :)