Musiker ?
CD-Player -> Notebook -> Michpult -> 2 x 1,5 KW
Alles Klar !?
Und so sieht der aufruf dann ausCode:bool CRNProtokoll::SetByteData(BYTE* Buffer,BYTE Len) { // Daten in den Stream schreiben und Maskieren // Framen BYTE x=0; BYTE bLenAdd = 1; m_bLowLevel[0] = CTL_C_STX; for(x=0;x<Len;x++) { if((Buffer[x] & CTL_M_MASK) == CTL_C_BASE) { m_bLowLevel[x+bLenAdd] = CTL_C_PFX; bLenAdd++; m_bLowLevel[x+bLenAdd] = Buffer[x] | CTL_M_ADON; } else { m_bLowLevel[x+bLenAdd] = Buffer[x]; } m_bTxBcc ^= Buffer[x]; if((x+bLenAdd+2) >= 1024) { //Mehr Buffer haben wir nicht return false; } if(x == 127) { // Neuen Frame an fangen // Das müssen wir noch prüfen m_bLowLevel[x+bLenAdd] = m_bTxBcc; m_bLowLevel[x+bLenAdd+1] = CTL_C_ETX; m_bLowLevel[x+bLenAdd+2] = CTL_C_STX; bLenAdd = bLenAdd+2; m_bTxBcc = 0; m_bFrameCount ++; } } m_bLowLevel[x+bLenAdd] = m_bTxBcc; m_bLowLevel[x+bLenAdd+1] = CTL_C_ETX; m_bLength = Len+2+bLenAdd; return true; }
Code:void CMain::SendBuffer(BYTE *buffer,int len) { // Daten zu sammenbauen und schicken CRNProtokoll* pBuffer = new CRNProtokoll; pBuffer->SetByteData(buffer,len); // Wie lange ist das was wir senden müssen ? len = pBuffer->GetLevel0(NULL); BYTE* SendBuffer = new BYTE[len]; // Holen der daten ? pBuffer->GetLevel0(SendBuffer); CString csTrace; csTrace.Format("Schreibe Daten %s",BinToTrace(SendBuffer,len)); TraceIt(csTrace); m_clV24.WriteOut(SendBuffer,len); delete SendBuffer; delete pBuffer; }
Gruß







Zitieren

Lesezeichen