-
Strings in Array packen?
Hallo Forum,
in 6ms Abständen sollen unterschiedliche Strings versendet werden:
Code:
sprintf( Text, "2:1=%i\r\n", (int)tilt_angle );
uart_puts (Text);
_delay_ms(6);
sprintf( Text, "2:2=%i\r\n", (int)roll_angle);
uart_puts (Text);
_delay_ms(6);
sprintf( Text, "2:3=%i\r\n", (int)Rocker_position);
uart_puts (Text);
_delay_ms(6);
sprintf( Text, "2:4=%i\r\n", (int)Rocker_sensivity);
uart_puts (Text);
_delay_ms(6);
sprintf( Text, "2:5=%i\r\n", (int)Speed_error);
wie würdet ihr das hübsch "verpacken"? struct?
Günter
-
Wenn das alles int-Variablen sind, wie wärs dann damit:
Code:
enum
{
tilt_angle,
roll_angle,
Rocker_position,
Rocker_sensivity,
Speed_error,
Value_max
};
int Values[Value_max];
int8_t n;
for(n=0; n<Value_max; n++)
{
sprintf(Text, "2:%i=%i", n+1, Values[n]);
_delay_ms(6);
}
So kannst du anderswo im Code z.B. auch per Values[Speed_error] auf ein bestimmtes Element (in diesem Fall Speed_error) mit seinem Namen zugreifen.
-
Hallo Felix,
leider sind die Typen der Werte unterschiedlich, deshalb auch das (int) vor den Variablen.
Günter
-
Ich würde wohl ein struct nehmen, obwohl es dadurch auch nicht kürzer wird.
Außer du machst ne Funktion draus und übergibst einfach das komplette struct.