
Zitat von
radbruch
Hallo
Ich würde das Problem auch mal aufbröseln und nur versuchen ein Echo vom empfangenen Zeichen zurückzuschicken.
Ich habe zusätzlich noch ein eigenes Problem beim Testen: In der aktuellen WinAVR-Version erzeugen die SerWrite() und SerRead()-Funktionen eine Kompilerwarnung:
test.c:45: warning: pointer targets in passing argument 1 of 'SerRead' differ in signedness
test.c:46: warning: passing argument 1 of 'SerWrite' makes pointer from integer without a cast
Das sind diese Befehle:
45: SerRead(message,1,1);
46: SerWrite(message[0],1);
Nun weiß ich seit meiner Systemumstellung und dem ersten Auftreten dieser Warnung aber dafür schon eine Lösung. Diese scheint hier aber nicht zu funktionieren. Ob das an der Variable message liegt oder an den Libraries meines asuro-Clon kann ich im Moment leider noch nicht sagen.
Gruß
mic
Den SerialTest code im Selbtest Program hat ein Ampersand neben den Zeichenketten Variabele. Ich weiss leider nicht mehr was das macht.
Code:
/* ----------------------------------------- */
/* -------------- Serial Test -------------- */
/* ASURO sends recieved data+1 directly */
/* when TIMEOUT occures ASURO is sending 'T' */
/* ----------------------------------------- */
void SerialTest(void)
{
unsigned char data;
unsigned char i;
for (i = 0; i < 0xFE; i++) {
StatusLED(GREEN);
SerRead(&data,1,0xFFFE);
StatusLED(RED);
if (data != 'T') data += 1;
SerWrite(&data,1);
}
}
/* END Serial Test -------------------------- */
Lesezeichen