Hi ihr, iwi kommt bei mir dieser dumme Fehler hier: "ivalue required as left operand of assignment..." Was is denn bitte schon falsch an dem Gleicheitszeichen oO void Tone (uint8_t Laenge){ const uint8_t Dauer = Laenge; PINB0 = 1; _delay_us(Dauer); PINB0 = 0; _delay_us(Dauer); }
Nichts, aber an 'PINB0'. 'PINB0' ist eine Konstante mit dem Wert '0'. Das wird auf bitweise-Arithmetik hinauslaufen, dazu gibts ein paar Artikel im Wiki.
Basstler schrieb: > Hi ihr, > > iwi kommt bei mir dieser dumme Fehler hier: > "ivalue required as left operand of assignment..." Keine Ahnung, was ein ivalue sein soll. Meintest du vielleicht lvalue? Ein lvalue ist grob gesagt etwas, das links von einer Zuweisung stehen darf. > Was is denn bitte schon falsch an dem Gleicheitszeichen oO An dem nichts, aber wie der Compiler schon anmerkt, an dem, was links davon steht: > PINB0 = 1; Sofern es sich um einen AVR handeln sollte, ist PINB0 eine Konstante mit dem Wert 0, also wird der Präprozessor die obige Zeile ersetzen durch:
1 | 0 = 1; |
Am besten schaust dur dir nochmal im Tutorial an, wie man I/O macht.
>Am besten schaust dur dir nochmal im Tutorial an, wie man I/O macht.
Und die ganzen Threads zu _delay_us(Dauer);
Der Parameter für _delay_us() muss beim compilieren
bekannt sein und ist nicht zur Laufzeit änderbar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.