- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 63

Thema: Farben nach R,G,B umwandeln in 4-stell. hex-code?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #22
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Im Übrigen war es die falsche Schreibweise, die zu den merkwürdigen Ergebnissen führte:

    Code:
          
       R = (uint8_t)(color16 / 2048)*8; ;
       G = (uint8_t)(color16 & 2016)/8;;
       B = (uint8_t)(color16 & 31)*8;
    was immer die Schreibweise (uint8_t) bewirken sollte. Hier hast Du offenbar uint8_t nur auf die Folgeausdrücke angewandt. Also:
    Code:
    uint8_t(color16 & 2016)
    und das dann durch 8 dividiert. Du stampfst
    Code:
    (color16 & 2016)
    auf 8 Bit ein (obwohl Du an der Stelle noch 16 Bit brauchst - eigentlich nur 11). Richtig wäre die Schreibweise und Funktion, die Du wolltest, so:

    Code:
       R = uint8_t((color16 / 2048)*8);
       G = uint8_t((color16 & 2016)/8);
       B = uint8_t((color16 & 31)*8);
    Allerdings habe ich woanders gelesen, dass man statt uint8_t() lieber byte() verwenden soll. Wäre der bessere Stil (kann man sehen wie man möchte):

    "An unsigned char data type that occupies 1 byte of memory. It is the same as the byte datatype. The unsigned char datatype encodes numbers from 0 to 255. For consistency of Arduino programming style, the byte data type is to be preferred."
    Arduino: Difference in “Byte” VS “uint8_t” VS “unsigned char”
    Geändert von Moppi (10.09.2018 um 21:56 Uhr)

Ähnliche Themen

  1. String nach Array umwandeln (?)
    Von slavezero im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 07.06.2012, 17:21
  2. Chips die nach Seriell umwandeln
    Von dundee12 im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 12.08.2010, 09:08
  3. word nach byte umwandeln
    Von magic33 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 21.02.2007, 16:04
  4. C-Code in hex umwandeln
    Von elkokiller im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 16.02.2006, 09:41
  5. PAL-Videosignal irgendwie nach seriell umwandeln?
    Von Trabukh im Forum Elektronik
    Antworten: 39
    Letzter Beitrag: 14.09.2005, 13:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress