Frage : C++ Serienkommunikation - LSB u. MSB

Hallo,
schreibe ich irgendeinen Code für das In Verbindung stehen zu einem digitalen Toner über serielle Schnittstelle, using C++ und ich habe einige Fragen betreffend Datenstruktur.  

entsprechend dem ICD, die Kommunikationsstruktur, muss ich 4 Bytes Daten der Vorrichtung (ich habe eine Akte die Teile des ICD umreißend angebracht) übermitteln.  Ich bin wenig, der verwirrt werden auf, wie man die Datenstruktur vorbereitet und besonders das MSB u. LSB beschäftigt (beigefügtes Dokument sehen).  

I haben irgendeinen Pseudo-Code unten, mir bitte erklären, wenn ich in die rechte Richtung gehe;

Again, sehen bitte den beigefügtes Dokument Inhinweis mit dem Pseudo-code

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

//Sample für FOV-Befehl (beigefügtes Dokument sehen)

m_TxBuf [4] verkohlen;
TxBuf [0] = 0x03; (Anruf-Wort - icd sehen, enthält Adresse und Befehl MSB)
TxBuf [1] = 0x10; //Byte 0 (Befehl LSB)
TxBuf [2] = 0x02; //Byte 1 (Daten LSB)
TxBuf [3] = 0x00; //Byte 2 (Daten MSB)
TxBuf [4] = TxBuf [0] + TxBuf [1] + TxBuf [2] + TxBuf [3];  //Byte 4 (Prüfsumme) 


If, das Sie gefallen konnten, mich wissen, wenn ich meine Datenstruktur richtig entsprechend dem ICD vorbereite, und mir heraus helfen lassen, der geschätzt würde.  

Thanks
Attachments:
Communication Structure

Antwort : C++ Serienkommunikation - LSB u. MSB

Gut ja setzte ich nur ein Licht auf das Byte 0, da ich nichts sah, das in den anderen Bytes problematisch ist. Das andere Bytes IMO sind trivial zu behandeln und ich schätze, dass der Code, den Sie gaben, okay ist (ich sage „Vermutung“, da ich keine Idee habe, welche Werte Sie innen dort setzen müssen, da ich kein Wissen über die Vorrichtung und sein Übertragungsprotokoll habe).

Ich weiß nicht, was die Verbindung zwischen FOV und MSB/LSB ist - wenn FOV-Befehle über das Byte 1 der LSB Bytes dann gesendet und IMO 2 irgendwie wie dieses aussehen:

> m_TxBuf [1] = 0x10; //-Befehl „FOV“
> m_TxBuf [2] = 0x02; //-Daten „weit“
oder
> m_TxBuf [1] = 0x1c; //-Befehl „CCD-elektronisches lautes Summen“
> m_TxBuf [2] = 0x01; //-Daten „Enge-CCD - lautes Summen *2 Active“

'Über das 4. Byte (m_TxBuf [3]) habe ich absoluteley keine Idee, was Sie innen dort setzen müssen.
Weitere Lösungen  
 
programming4us programming4us