nomad
20-04-2009, 13:14
hi,
hab folgendes kleines problem:
moechte zeichen ueber die serielle RS232-Schnittstelle an einen microController schicken
im normalfall funzzt das auch.
in einem spezialFall erwartet der Controller ein CarriageReturn ((CR=ascii), dezimal 13)
als abschluss der zeichenkette. also:
code schnippsel fuer den normalfall
printf("Command: %d \n",antw); //integer input
n = sprintf (sendData, "%d ", antw); // convert int to string
printf("SendData: %s\n",sendData);
sendDataStr = (char *)malloc(strlen(sendData));
strcpy(sendDataStr,sendData);
s_len = strlen(sendEOF); // "\r"
strncat(sendDataStr,sendEOF,s_len);
s_len = strlen(sendDataStr);
printf("SendDataString: %s\n",sendDataStr);
SendData();
weiss jemand von euch, wie ich dass mit CR machen kann,
char *sendEOF = ("\r"); == das funzzt im normalfall
char *sendEOFCR = ("\n"); == waere das CR?
um tipps und hinweise waer ich froh
gruesse
nomad
hab folgendes kleines problem:
moechte zeichen ueber die serielle RS232-Schnittstelle an einen microController schicken
im normalfall funzzt das auch.
in einem spezialFall erwartet der Controller ein CarriageReturn ((CR=ascii), dezimal 13)
als abschluss der zeichenkette. also:
code schnippsel fuer den normalfall
printf("Command: %d \n",antw); //integer input
n = sprintf (sendData, "%d ", antw); // convert int to string
printf("SendData: %s\n",sendData);
sendDataStr = (char *)malloc(strlen(sendData));
strcpy(sendDataStr,sendData);
s_len = strlen(sendEOF); // "\r"
strncat(sendDataStr,sendEOF,s_len);
s_len = strlen(sendDataStr);
printf("SendDataString: %s\n",sendDataStr);
SendData();
weiss jemand von euch, wie ich dass mit CR machen kann,
char *sendEOF = ("\r"); == das funzzt im normalfall
char *sendEOFCR = ("\n"); == waere das CR?
um tipps und hinweise waer ich froh
gruesse
nomad