Hallo da draußen, ich entwickle ein Programm und arbeite dazu an zwei entfernt stehenden PC unter WIN2000, WINAVR2060125 und Studio4.12. Der eine Rechner compilert das folgende Programm ohne Fehlermeldungen und das Programm tut, was es soll: // div. includes int main ( void ) { /********************************************************/ /* USART0/1 initialisieren und auf die global */ /* definierte BaudRate einstellen unter Berück- */ /* sichtigung der global definierten SystemTaktRate */ usart_init() ; /********************************************************/ /* und Initialisierung von printf_P, */ /* der USART muss bereits initialisiert sein */ fdevopen(Send_char_via_USART, NULL, 0); /* string aus dem FLASH */ printf_P ( PSTR("-----------------------------------------\r\n")) ; printf_P ( PSTR( "* START * " __DATE__" " _TIME_ "\r\n")) ; /* HAUPTSCHLEIFE: Run forever */ for (;;) { } /* Ende for (;;) */ return 0 ; /* um Compiler-Warning zu unterdrücken */ } /* end of main */ Der andere PC gibt beim Comilieren dieses Programms folgende Fehlermeldung aus: ../main.c: In function `main': ../main.c:84: Warnung: Verarbeiten des Argumentes 1 von »fdevopen« von inkompatiblem Zeigertyp ../main.c:84: Fehler: zu viele Argumente für Funktion »fdevopen« Ich habe das Vorhandensein der libs auf beiden Rechnern überprüft und kein Problem gefunden und der Quellcode ist natürlich identisch. Hat da jemand eine Idee ? Otto
Die libs haben wahrscheinlich unterschiedliche Versionen. Ich glaube in der aktuellen hat fdevopen nur noch 2 Argumente.
Hi an alle, ...zwar gleiche WINAVR-/gcc-Version, aber ich glaube, ich habe auf dem PC, der die Fehlermeldung erzeugt, beim Installieren des "neuen" WINAVR die alte Version vorher nicht deinstalliert. Kann es erst am Montag probieren. Danke an alle ! Schönes Rest-WE Otto
Lies die bitte einfach die Doku zu stdio nochmal mit durch.
Hallo Jörg, ich habe stdio.h an den entsprechenden Stellen durchgelesen, aber ich werde nicht schlau daraus. Ein Beispiel würde alles viel klarer machen. Otto
dann lies nochmals avrlibc Dokumentation Seite 72/73 und schau dir die Deklaration von fdevopen an und deinen Benutzung der Funktion.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.