Hallo zusammen,
ich habe ein Keypad auf einem Nextion TFT erstellt und möchte die eingegeben variablen der Reihe nach in ein char array speichern, das array in eine float variable umwandeln und nach jeder Zeicheneingabe die variable zum TFT senden.
Leider funktioniert das mit dem Code den ich geschrieben habe nicht. Wäre schön wenn mir jemand helfen könnte?
Vielen Dank im Voraus
Hier ein Auszug aus meinem Code:
void b1PopCallback(void *ptr) // Release event for button b1
{
change_array(1);
}
void b2PopCallback(void *ptr) // Release event for button b2
{
change_array(2);
}
void b3PopCallback(void *ptr) // Release event for button b3
{
change_array(3);
}
void b4PopCallback(void *ptr) // Release event for button b4
{
change_array(4);
}
void b5PopCallback(void *ptr) // Release event for button b5
{
change_array(5);
}
void b6PopCallback(void *ptr) // Release event for button b6
{
change_array(6);
}
void b7PopCallback(void *ptr) // Release event for button b7
{
change_array(7);
}
void b8PopCallback(void *ptr) // Release event for button b8
{
change_array(8);
}
void b9PopCallback(void *ptr) // Release event for button b9
{
change_array(9);
}
void b0PopCallback(void *ptr) // Release event for button b0
{
change_array(0);
}
void b10PopCallback(void *ptr) // Release event for button komma
{
change_array(11);
}
void b11PopCallback(void *ptr) //Release event for button back
{
array_number--;
if (array_number <= 0) { //if array is zero, set array_init to zero
array_init = 0;
array_number = 0;
}else if (array_number >= 5){
array_number = 5;
}
}
void save_varPopCallback(void *ptr) // Release event for button save
{
if (Mode_value_setup == 1) { //set Travel
travel_distance = number_input;
travel_to_distance();
} else if (Mode_value_setup == 2) { //calculate
measured_distance = number_input;
calculate_steps();
} else if (Mode_value_setup == 3) { //set steps
mm_to_travel = number_input;
} else if (Mode_value_setup == 4) { //bed focal length
zero_point_to_focus_lens = number_input;
} else if (Mode_value_setup == 5) { //focal length
focal_length = number_input;
}
}
void change_array(int x) { //function to save number to array => convert to float => send to nextion
if (array_init == 0) {
array_init = 1;
} else { //if array is not zero go to next number
array_number++;
}
if (x == 11) {
array_input[array_number] = "."; /
} else {
array_input[array_number] = x;
}
number_input = atof (array_input); //array to float
Serial.print("number_var.txt=\""); //print values on screen after each number entered
Serial.print(number_input);
Serial.write('"');
Serial.write(0xFF);
Serial.write(0xFF);
Serial.write(0xFF);
}