08.01.2013 Aufrufe

Download - Projektlabor

Download - Projektlabor

Download - Projektlabor

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

31: /*Rückgabe: Handle auf den geöffneten Port als HANDLE<br />

*/<br />

32: /*<br />

*/<br />

33: /*Beschreibung: Öffnet und initialisiert einen COM-Port<br />

*/<br />

34:<br />

/************************************************************************<br />

****/<br />

35: /*Autor: Jürgen Funck Initialien: JHF<br />

*/<br />

36:<br />

/************************************************************************<br />

****/<br />

37:<br />

38: HANDLE OpenCom(LPCTSTR com, long baudrate,BYTE datenbits,BYTE<br />

paritaet,BYTE stopbit)<br />

39: {<br />

40: DCB dcb;<br />

41: HANDLE hCom;<br />

42: DWORD dwError;<br />

43: BOOL fSuccess;<br />

44: COMMTIMEOUTS newtimeouts;<br />

D:\juergen\Projekt\Projekt\prog\TestEmpf\Com.c<br />

45:<br />

46: //öffne COM-Port<br />

47:<br />

48: hCom = CreateFile( com, //öffne COM-PORT<br />

49: GENERIC_READ | GENERIC_WRITE,<br />

50: 0, //Muss bei COM-Ports 0 sein<br />

51: NULL, //keine Sicherheits Attribute<br />

52: OPEN_EXISTING, //COM-Ports müssen OPEN_EXISTING<br />

benutzen<br />

53: 0, //keine Überlappende I/O<br />

54: NULL //hTemplate muss bei COM-Ports NULL<br />

sein<br />

55: );<br />

56:<br />

57: //überprüfe ob erfolgreich<br />

58:<br />

59: if(hCom == INVALID_HANDLE_VALUE)<br />

60: {<br />

61: dwError = GetLastError();<br />

62:<br />

63: //behandle Fehler<br />

64: printf("Mist! nicht getroffen!\n");<br />

65: }<br />

66:<br />

67: fSuccess = GetCommState(hCom, &dcb);<br />

68:<br />

69: if(!fSuccess)<br />

70: {<br />

71: //behandle Fehler<br />

72: printf("Mist! kein Status\n!");<br />

73: }<br />

74:<br />

75: //initialise COM<br />

76:<br />

77: dcb.BaudRate = baudrate;<br />

78: dcb.ByteSize = datenbits;<br />

79: dcb.Parity = paritaet;<br />

80: dcb.StopBits = stopbit;<br />

81: fSuccess = SetCommState(hCom, &dcb);<br />

82:<br />

83: //assure success<br />

84: if(!fSuccess)<br />

85: {<br />

86: //Handle the error<br />

87: printf("Mist! Initialisiereung fehlgeschlagen\n!");<br />

88: }<br />

89: /*<br />

214

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!