Wie erreicht man diese einfache Logik?Trivial-Abfrage mit if-Anweisungen
void IRQHandler(void)
{
if(update_variable == 0)
{
if(CONDITION1)
{
/* MORE CODE */
update_variable = 1;
}
} /* Here i want to exit the loop */
if(update_variable == 1) /* execute in next loop */
{
if(CONDITION1)
{
/* MORE CODE */
/*UPDATE SOME ARRAY */
update_variable = 0; /* reset variable for next loop */
}
}
}
Im Wesentlichen möchte ich über zwei aufeinander folgende Unterbrechungen für die gleiche Bedingung1 überprüfen. Für den ersten Interrupt möchte ich den Variablenwert auf 1 setzen und die Schleife verlassen (genau die folgende if-Bedingung nicht ausführen). Wie ich sehe, kann ich die Break-Bedingung nicht mit "if" verwenden! Ich bin hier für eine Weile geschlagen! Bitte hilf mir!
'if' ist eine Bedingung, keine Schleife, aus der Sie" brechen "können! –
Verwenden Sie eine statische Variable mit einem Schalter. –