danke erstmal, das braucht ein bischen...
ein "zwischen"problem:
- der timer läuft, da werden die sekundenaufgaben aufgerufen, in denen die pingroutine:
Code:
if ((sekunden_tick == 1) && (gemacht_ping_links_flag == 0))
{
ping_distanz_links();
Serial.print("Ping: ");
Serial.print(uS_links / US_ROUNDTRIP_CM);
Serial.println(" cm");
}
gestartet wird.
in der pingroutine
Code:
void ping_distanz_links(void)
{
uS_links = sonar_links.ping();
gemacht_ping_links_flag = 1;
start_ping_links = true;
}
wird aber das pingergebnis trotz des ping-flags auf 1 "100mal" ausgedruckt. Wieso? Wo muss die flagänderung denn hin? In der loop wird sie ja zuerst auf "0" gesetzt, dann in den sekundenaufgaben abgefragt und letztendlich in der pingroutine wieder auf 1 gesetzt...
Lesezeichen