Ткните, где неправ
- Войдите на сайт для отправки комментариев
Вс, 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
Спасибо, так и сделал! Туплю что-то.
и чо, заработало?
и чо, заработало?
Ага! Видимо вчера было немного лишнего принято :)