"Toggle Variable"

Gast #2672221
Lesenswert?

Hallo,
ich habe grad folgendes Problem:

In einer Schleife, die alle 25ms abgerufen wird, möchte ich jeweils den 
Status des Ports ändern.
D.h. beim ersten mal auf 1, dann nach weiteren 100ms (wenn die schleife 
erneut aufgerufen wird) wieder auf  0.. usw.

Ich nutze das AVRStudio.
Leider gibt es ja keine booleschen Variablen... die könnte ich ja 
einfach immer erhöhen und sie ändert Ihren Status bei jedem Durchlauf 
von 1 auf 0.

WIe macht man sowas? Ich bin noch Anfänger in Sachen C.

Vielen Dank
Gast #2677998
Lesenswert?

Marc schrieb:
> Leider gibt es ja keine booleschen Variablen...

Klar gibt's die. Nach #include <stdbool.h> steht dir der Typ bool zur 
Verfügung.

> die könnte ich ja einfach immer erhöhen und sie ändert Ihren Status bei jedem
> Durchlauf von 1 auf 0.

Wenn du true + 1 rechnest, wird aus dem linken Teil ein int mit Wert 1, 
dann wird die Addition durchgeführt und dann das Ergebnis wieder nach 
bool zurückkonvertiert. Da 1+1=2, und 2 nach bool konvertiert true 
ergibt, wird dein Wert nie wieder 0.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren