Ткните, где неправ
- Войдите на сайт для отправки комментариев
Вс, 05/07/2020 - 12:00
Уважаемые господа! Подскажите, где ошибка. Мучаюсь пару часов и ничего не понимаю. Кусок программы по кнопочке увеличивается переменная 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); //тут ноль
}
}
Tchar где и как обьявлен?
Порча памяти, очевидно же.
много ли по программе lcd.print( и чтото в кавычках ); ? У меня была эта непонятка на попытке сделать меню в RFId-репликаторе. По возможности избавиться переложив во флеш PROGMEM и читать pgm_read_byte(). Или ещё есть какой-то макрос F() но я не знаю как там правильно пишется.
Tchar где и как обьявлен?
Глобальная переменная char Tchar[4];
Хотя мысль понял - сейчас попробую.
Глобальная переменная char Tchar[4];
обьяви его хотя бы для начала длиной в 6
Глобальная переменная char Tchar[4];
обьяви его хотя бы для начала длиной в 6
Спасибо, так и сделал! Туплю что-то.
и чо, заработало?
и чо, заработало?
Ага! Видимо вчера было немного лишнего принято :)