Lanner LEC-7050 Bedienungsanleitung Seite 23

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 27
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 22
22
Programming Watchdog Timer
Embedded and Industrial Computing
Appendix A
// Make sure the argument is numeric
void CheckNumeric (char *szBuf )
{
int nLen = strlen (szBuf) ;
for (int i = 0 ; i < nLen ; i++)
if (!strchr (“01234567890ABCDEFabcdef, szBuf[i]) )
throw Wrong argument\n ;
}
// Common GPIO output function definition
#define GPIO_OUT(a,b,c) \
int a (int argc, char *argv[]) \
{
\
CHECK_ARGC (4) ;
\
CheckNumeric (argv[2]) ; \
CheckNumeric (argv[3]) ; \
\
int nPort = atoi (argv[2]) ; \
int nValue = atoi (argv[3]) ; \
\
c (nPort, nValue) ;
\
\
printf (b “ #%d = %d\n, nPort, nValue) ; \
\
return 0
; \
}
// Function generate by common function definition
GPIO_OUT (mDIO_
OUT , “DIO_OUT , Write_DIO)
G P I O _ O U T
(mPIO , “DIO_OUT , PIO)
G P I O _ O U T
(mRunLED , “RunLED” , RunLED)
G P I O _ O U T
(mAlarmLED , AlarmLED , AlarmLED)
GPIO_OUT (mGPS_
LED , “GPS_LED” , GPS_LED)
G P I O _ O U T
(mWirelessLED , WirelessLED” , WirelessLED)
// Check case open
int mCaseOpen (int argc, char* argv[])
{
CHECK_ARGC (2) ;
BOOL bOpen = CaseOpen () ;
printf (“Case is %s\n, bOpen ? “Open : “Close”) ;
return bOpen ;
}
// Clear case open state
int mCaseOpen_Clear (int argc, char* argv[])
{
CHECK_ARGC (2) ;
CaseOpen_Clear () ;
BOOL bOpen = CaseOpen () ;
printf (“CaseOpen state %s”, bOpen ? “not cleared”
: cleared”) ;
return bOpen ;
}
// Get DIO_IN state
int mDIO_IN (int argc, char* argv[])
{
CHECK_ARGC (3) ;
CheckNumeric (argv[2]) ;
int nPort = atoi (argv[2]) ;
Seitenansicht 22
1 2 ... 18 19 20 21 22 23 24 25 26 27

Kommentare zu diesen Handbüchern

Keine Kommentare