Ob das, was in Serial.h und Serial.cpp richtig ist, weißt du besser als
die Leser hier. Aber auch dein main enthält noch Fehler:
Arrays beginnen immer mit dem Index 0. h_str besteht auso aus den
Elementen h_str[0], h_str[1], ..., h_str[9]. Deswegen müssen die
Zuweisungen folgendemaßen aussehen:
1 | h_str [0] = 'H';
|
2 | h_str [1] = 'A';
|
3 | h_str [2] = 'L';
|
4 | h_str [3] = 'L';
|
5 | h_str [4] = 'O';
|
sizeof(h_str) ist 10, weil h_str aus 10 Elementen der Größe 1 besteht.
Du möchtest aber wahrscheinlich nicht 10 Zeichen senden, sondern nur 5,
nämlich die Buchstaben des Worts "HALLO". Also muss es heißen
1 | COMPort.SendData(h_str, 5);
|
Vielleicht funktioniert die Sache damit ja schon. Hast du einen zweiten
PC, mit dem du die Daten empfangen und anzeigen lassen kannst? Wenn
nicht, kannst du auch an der Schnittstelle des PC die Tx- und
Rx-Leitungen miteinander verbinden (Loopback) und in dein obiges
Programm nach COMPort.SendData() geeignete Anweisungen zum Empfang von
Daten einfügen. Wenn du alles richtig gemacht hast, müssten du damit die
gesendeten Daten wieder zurückgelesen werden.
Um die Tx- udn Rx-Leitungen zu verbinden, steckst du einfach eine
Sub-D-Buchse, bei der du Pin 2 und Pin 3 mit etwas Lötzinn überbrückt
hast, in den COM-Port des PC.