Hallo,
ich habe schon eine nahezu fertige PC-Anwendung, die Daten über die
serielle Schnittstelle an einen µC senden soll. Es ist mit Microsoft
Visual Studio C++ 2008 (mit Windows Forms) programmiert.
Nun folgenedes Problem: Ich habe:
int byte0, byte1;
Da stehen jeweils Daten zwischen 0x00 und 0xFF (0...255) drin, ich nutze
also genau 8Bit pro (zu übertragenes) Byte.
Der µC wertet sie auch genauso wieder aus (0x00 bis 0xFF pro Byte).
Ich verstehe aber nicht, wie ich meine int's an den µC übertragen kann.
Es scheint nur folgende Funktionen zu geben:
serialPort->Write(String^ text);
serialPort->Write(array<unsigned char>^ buffer, int offset, int count);
serialPort->Write(array<wchar_t>^ buffer, int offset, int count);
Bsp. der zu sendenden Daten:
byte1 = (kanal<<4) | (data>>4); //kanal, data: int
(byte1 also z.B. 0b01010101)
Wie kann ich meine 8Bit-Daten übertragen? Mit z.B. ASCII (also String!?)
kann man doch maximal 7 Bit übertragen!?
-> Muss ich noch eine Einstellung wie z.B. folgende ändern?
serialPort->Encoding->CodePage; //oder
serialPort->Encoding->UTF8;
Und mit String komme ich in dem Fall doch sowieso nicht weiter, da bei
int byte0 = 56;
serialPort->Write(byte0.toString());
der String "56" übertragen wird...
Bei den beiden anderen Funktionen verstehe ich die Nutzung nicht:
array<unsigned char>^ bzw. array<wchar_t>^
Ich hoffe ihr könnt mir helfen, denn hier im Forum und mit google konnte
ich nichts für meinen Fall, also für VS C++, finden.
Kirill