Forum: Mikrocontroller und Digitale Elektronik HI-Tech plib-code fehlerhaft?


von Rene F. (fook)


Lesenswert?

Hallo,

ich habe folgenden Code bei meinem HI-Tech PICC-18 Compiler gefunden:
(unter sources/plib/i2c/i2c_writ.c)
1
*     Function Name:    WriteI2C                                    *
...
1
unsigned char WriteI2C( unsigned char data_out )
2
{
3
...
4
  if ( WCOL )      // test if write collision occurred
5
   return ( -1 );              // if WCOL bit is set return negative #
6
...
7
  if ( ACKSTAT ) // test for ACK condition received
8
       return ( -2 );
9
  else return ( 0 );              // if WCOL bit is not set return 
10
...
11
}
(habe nur ein paar Zeilen gepostet, die wichtig sind für das Problem)

Ich frage mich nun, weil der Compiler auch meckert, wenn ich diese 
Funktion einbinde und im Programm den Rückgabewert gegen "-1" teste, ob 
hier der Rückgabetyp nicht viel eher "signed char" sein sollte??
Sonst machen auch die "return ( -1 )" bzw. "-2"-Zeilen keinen Sinn, 
oder?

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.