Hallo habe jetzt wegen dem uint8_t Datentyp von AVR recherchiert und wie ich verstanden habe, man kann ihn ohne weiteres in char und int konvertieren. Stimmt das so? habe leider keine Möglichkeit zur Hand es nachzuprüfen. uint8_t ist ja AVR-Spezifischer universeller Datentyp und wird ja unter anderem auch bei ADC Umwandlung verwendet. Z.B. uint8_t wert = 0b11111111 kann ich dann einfach zuweisen int a = (int) wert; // a = 255 oder char a = (char) wert; // a = 0xFF ? danke im Voraus
Alex S. schrieb: > kann ich dann einfach zuweisen ja, dafür braucht es nicht mal den cast
1 | int a = wert; // a = 255 |
das geht teilweise nicht, weil char mit oder ohne vorzeichen sein kann.
1 | char a = wert; // a = 0xFF |
Alex S. schrieb: > Datentyp von AVR Der ist nicht von AVR, der ist von POSIX und ISO-C99, die sind in stdint.h definiert, nur mal so am Rande.
Hallo, Alex S. schrieb: > uint8_t ist ja AVR-Spezifischer universeller Datentyp eher im Gegenteil. Es ist ein allgemein definierter Datentyp unsignet int mit 8 Bit. Spätestens bei unsigned int und uint16_t wird der Unterschied entscheidend: Auf dem AVR ist unsigned int 16 Bit, auf dem ESP8266 z.B. aber 32Bit, weil es ein 32 Bitter ist. uint16_t ist dagegen auf beiden immer 16 Bit. Die "Kleinigkeit" hat mich schon genervt, als ich AVR-Code auf den ESP gworfen und nicht daran gedacht habe. Gruß aus Berlin Michael
Michael U. schrieb: > Die "Kleinigkeit" hat mich schon genervt, als ich AVR-Code auf den ESP > gworfen und nicht daran gedacht habe. Ja , was machst du auch so einen Quatsch.
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.