Отчет по практике: Разработка программы контроля изделий и подготовка программной документации

pTarget[4] = (unsigned char) type;

*(int*)(pTarget + 0x05) = BaseAddress;

version = 0;

SHsum=0x0;

for ( i=3; i<=8; i++ ){SHsum+=pTarget[i];} //подсчёт КС

// MessageBox(NULL, AnsiString(SHsum).c_str(), "Контрольная сумма", MB_OK);

pTarget[9]=(unsigned char)(SHsum);//младший байт

pTarget[10]=(unsigned char)(SHsum>>8);//старший байт

ComPort->write(pTarget, 3+MessageSize+2);

delete [] pTarget;

Sleep(100);

i = ComPort->read();

if(i>0)

{

// MessageBox(NULL, AnsiString(i).c_str(), "Принято байт", MB_OK);

pReceived = ComPort->get_receiver_ptr(); //считываем полученное значение

if ( pReceived[0] != 0x55 || pReceived[1] != 0xAA) {

MessageBox(NULL, pReceived, "Ошибка", MB_OK);

return 0;

}

// наложение масок

switch (type) {

case 1:

version = (unsigned int) (*( char* )(pReceived + 5))&0x000000FF;

break;

case 2:

version = (unsigned int) (*( short* )(pReceived + 5))&0x0000FFFF;

break;

case 4:

К-во Просмотров: 494
Бесплатно скачать Отчет по практике: Разработка программы контроля изделий и подготовка программной документации