Forum: Mikrocontroller und Digitale Elektronik Zeichenübergabe an Funktion


von Nino K. (lnino)


Lesenswert?

Hi an alle,

ich glaube ich steh grad voll auf de Leitung.
Ich möchte ein Zeichen(A,B,C,1,2,3,usw) an eine Funktion weitergeben.
In der Funktion soll überprüft werden welches Zeichen übergeben wurde 
und dann eine Ausgabe erfolgen.

So scheint es nicht zu funktionieren.
Kann mir jemand sagen wie das richtig gehört?

// Funktion
void test_func(unsigned char zeichen) {
if (zeichen == 'A'){
// Aktion
}

//Aufruf
test_func(char A);

Vielen Dank.
von Tom M. (tomm) Benutzerseite


Lesenswert?

El Nino schrieb:
> test_func(char A);

test_func('A');
von drhdtjrf (Gast)


Lesenswert?

El Nino schrieb:
> Kann mir jemand sagen wie das richtig gehört?
>
> // Funktion
> void test_func(unsigned char zeichen) {
> if (zeichen == 'A'){
> // Aktion
> }
lass das unsigned weg. Merke: Für Buchstaben nimmt man char (ohne 
signed/unsigned), zum Rechnen entweder signed char oder unsigned char.
1
void test(char z)
2
{
3
  if(z=='A')
4
    //do_sth_usefull_here
5
}
6
7
test('A');
von Simon K. (simon) Benutzerseite


Lesenswert?

drhdtjrf schrieb:
>> // Funktion
>> void test_func(unsigned char zeichen) {
>> if (zeichen == 'A'){
>> // Aktion
>> }
> lass das unsigned weg. Merke: Für Buchstaben nimmt man char (ohne
> signed/unsigned), zum Rechnen entweder signed char oder unsigned char.


Zum Rechnen nimmt man besser Typen aus stdint.h anstatt char.
von Nino K. (lnino)


Lesenswert?

Vielen Dank für Eure Rückmeldungen und Tipps.

Ich werde gleich versuchen das umzusetzen.
von drhdtjrf (Gast)


Lesenswert?

Simon K. schrieb:
> drhdtjrf schrieb:
>>> // Funktion
>>> void test_func(unsigned char zeichen) {
>>> if (zeichen == 'A'){
>>> // Aktion
>>> }
>> lass das unsigned weg. Merke: Für Buchstaben nimmt man char (ohne
>> signed/unsigned), zum Rechnen entweder signed char oder unsigned char.
>
>
> Zum Rechnen nimmt man besser Typen aus stdint.h anstatt char.

Oder so, stimmt. Der Merksatz kommt von Karl-Heinz Buchegger, wenn der 
das sagst ist das so auch ok.
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
Noch kein Account? Hier anmelden.