Hallo Leute was bedeutet denn diese C Ausdruck? != ist das nicht ungleich, wenn ja, was bedeutet das hier: ^= ??? Helft mir ;-) Danke
A ^= B; ist A = A XOR B; wird zum Toggeln benutzt, siehe http://www.mikrocontroller.net/articles/Bitmanipulation
OK, danke, und das != ? Ist das ungleich?
> A != B ist ein Vergleichsoperator und liefert TRUE oder FALSE zurück > A ^= B ist eine Kurzschreibweise für > A = A^B; und das ist eine kombinatorische Verknüpfung. Hier speziell die Antivalenz: http://de.wikipedia.org/wiki/XOR-Gatter Andere Kurzschreibweisen sind z.B. A += B; --> A = A+B; A -= B; --> A = A-B; A *= B; --> A = A*B; usw. usf. Das steht aber in jedem brauchbaren C-Buch. Insbesondere im Standardwerk von K&R Programmieren in C.
Gast
#1227684
ja. während != mehr zu == gehört (ungleich und gleich), gehört ^= mehr zu += und -= (also berechnungen, wo ein teil gleich als ergebnis benutzt wird)
Würde dann das ergebnis bei diesem Code hier nicht andauernd hin und Her
tockeln? Soll ne Entprellung von nem taster sein:
if (hatch_alt!=IO_HATCH_IN)
{
if (timer_timespan(hatch_seit)>ENTPRELLZEIT)
{
hatch_akt=hatch_alt;
}
} else
{
hatch_alt^=(u08)1;
hatch_seit=timer_get_timestamp();
}
Ah schon ok, die haben es mit einem low aktiven eingang gemacht denke ich.
>... denke ich.
Na dann is gut, denke ich ;-)
Weil (ausser dir) keiner weiß, was timer_timespan und
timer_get_timestamp machen, und was z.B. IO_HATCH_IN ist, könnte der
Code alles tun...
Gast
#1227737
>Weil (ausser dir) keiner weiß, was timer_timespan und...
Ich vermute mal, die Fkt nimmt einen Zeitstempel.
Ja macht sie, hat sich erledigt, danke leute
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.