Hallo
Ich hab heute mal versucht unsere Heizung via RS232 an zu steuern. Soweit kein Problem und alles funktioniert einwandfrei.
Aber wenn ich einen bestimmten zyklus abfahren will brauche ich natürlich mehrere Strings. Und dann fängt das problem an.
Der Programmspeicher ist überfüllt und es funktioniert nichtsmehr so wie es soll.
Ich hab schon den ganzen tag gegooglet und versucht alles aus dem String raus zu nehmen was ich nicht dringend brauche. Es wiord viel geschrieben dass man die Strings in den Flash Speicher schreiben soll. das macht evtl Sinn, aber wie das funktioniert kann niemand so wirklich erklären.
Kann mir das jemand verständlich und praktisch umsetzbar erklären?
Gruß
Hier mal die Strings damit man mal siht welche Datenfluten das sind.
Ich hab heute mal versucht unsere Heizung via RS232 an zu steuern. Soweit kein Problem und alles funktioniert einwandfrei.
Aber wenn ich einen bestimmten zyklus abfahren will brauche ich natürlich mehrere Strings. Und dann fängt das problem an.
Der Programmspeicher ist überfüllt und es funktioniert nichtsmehr so wie es soll.
Ich hab schon den ganzen tag gegooglet und versucht alles aus dem String raus zu nehmen was ich nicht dringend brauche. Es wiord viel geschrieben dass man die Strings in den Flash Speicher schreiben soll. das macht evtl Sinn, aber wie das funktioniert kann niemand so wirklich erklären.
Kann mir das jemand verständlich und praktisch umsetzbar erklären?
Gruß
Hier mal die Strings damit man mal siht welche Datenfluten das sind.
Code:
while (1)
{
switch (Zeit)
{
case 10:
_delay_ms(500);
uart_putstring("\n$01E 0010.0 0080.0 0080.0 0000.0 0000.0 0000.0 0000.0 011 00000000000000000000000000000\r");
_delay_ms(500);
uart_putstring("\n$02E 0010.0 0080.0 0056.0 0000.0 0000.0 0000.0 0000.0 011 00000000000000000000000000000\r");
_delay_ms(100);
break;
case 30:
_delay_ms(500);
uart_putstring("\n$01E 0020.0 0040.0\r");
_delay_ms(500);
uart_putstring("\n$02E 0010.0 0080.0 0056.0 0000.0 0000.0 0000.0 0000.0 010 00000001010000000000000000000\r");
_delay_ms(100);
break;
case 50:
_delay_ms(1000);
uart_putstring("\n$02E 0010.0 0080.0 0056.0 0000.0 0000.0 0000.0 0000.0 010 00000001000000000000000000000\r");
_delay_ms(100);
break;
case 70:
uart_putstring("\n$01E 0070.0 0012.0\r");
_delay_ms(1000);
uart_putstring("\n$02E 0010.0 0080.0 0056.0 0000.0 0000.0 0000.0 0000.0 010 00000000000000000000000000000\r");
_delay_ms(100);
break;
case 90:
_delay_ms(1000);
uart_putstring("\n$02E 0010.0 0080.0 0056.0 0000.0 0000.0 0000.0 0000.0 010 00000000010000000000000000000\r");
_delay_ms(100);
break;
case 110:
uart_putstring("\n$01E 0060.0 0020.0\r");
_delay_ms(600);
uart_putstring("\n$02E 0060.0 0020.0 0056.0 0000.0 0000.0 0000.0 0000.0 010 00000000010000000000000000000\r");
_delay_ms(500);
break;
case 130:
_delay_ms(500);
uart_putstring("\n$01E 0020.0 0040.0 0080.0 0000.0 0000.0 0000.0 0000.0 000 00000000000000000000000000000\r");
_delay_ms(500);
uart_putstring("\n$02E 0010.0 0080.0 0056.0 0000.0 0000.0 0000.0 0000.0 000 00000000000000000000000000000\r");
_delay_ms(100);
break;
case 800:
Zeit=0;
cnt=0;
Sekunden=0;
Minuten=0;
Stunden=0;
break;
}
Lumpensammler=0;
}
return 0;
}