Probleme mit ASCII Zeichen



  • Hallo,

    ich brauche mal bitte eure Hilfe.
    Ich muss zur Abfrage eines Gerätes mit RS232 Schnistelle ASCII Zeichen über die RS232 an die Steuereinheit senden und darauf hin eine Antwort zu bekommen.

    Das ganze funktioniert auch supper bis jetzt. Jetzt benötige ich aber für die Afrage eines Wertes das ASCII Zeichen 145 (dez) oder 91(Hex) in einer char variablen.

    Das ganze funktioniert nur leider nicht.
    Bis jetzt mache ich das ganze z.B. so:

    char send={0x4a};

    hier bekomme ich ein "J" in die Variable send.

    wenn ich aber versuche:

    char send={0x91}; oder
    char send={145};

    bekomme ich immer den Fehler "Verkuerzung von 'const int' in 'char' "

    kann mir da bitte einer weiterhelfen ?

    Danke Coolsero



  • Vielleicht ist dein char signed.
    Versuch' mal
    unsigned char send = ...;



  • Coolsero schrieb:

    bekomme ich immer den Fehler "Verkuerzung von 'const int' in 'char'

    The type conversion causes a constant to exceed the space allocated for it. You may need to use a larger type for the constant.

    Abgesehen davon ist ASCII eine 7-Bit-Zeichenkodierung. Alles darüber hinaus hat nichts mit ASCII zu tun und ist systemabhängig.



  • Hallo Caligulaminus,

    danke für deine Antwort, es hat funktioniert 🙂 Ich weiß nicht warum ich da nicht selbst drauf gekommen bin, aber vielleicht war es gestern auch einfach zu heiß.

    Gruß

    Coolsero


Anmelden zum Antworten