//возвращаем сообщение с ошибкой void ErrorMessage1(char code) { Sost1|=CurSost; //байты синхронизации уже лежат в массиве Tr_buf_data_uart1[2]=code; Tr_buf_data_uart1[3]=0x02; //т.е. посылается два байта данных CRCSum1=GetCRCSum1(Tr_buf_data_uart1,6); Tr_buf_data_uart1[6]=CRCSum1; StartTrans1(7); }
void TransDataInf1(unsigned char ByteCommand, unsigned char NumberTransByte) { Sost1|=CurSost; //байты синхронизации уже лежат в массиве Tr_buf_data_uart1[2]=ByteCommand; Tr_buf_data_uart1[3]=NumberTransByte; CRCSum1=GetCRCSum1(Tr_buf_data_uart1,4+NumberTransByte); Tr_buf_data_uart1[4+NumberTransByte]=CRCSum1; StartTrans1(5+NumberTransByte); }
void MODBUS1(void){ if (bModBus){ cNumTrByte1=ModBus(cNumRcByte1); if (cNumTrByte1!=0) StartTrans1(); bModBus=FALSE; } }
//подпрограмма подготовки отпраки одного байта информации по UART void TransDataByte1(unsigned char ByteCommand, unsigned char ByteData) { Sost1|=CurSost; //байты синхронизации уже лежат в массиве Tr_buf_data_uart1[2]=ByteCommand; Tr_buf_data_uart1[3]=0x01; Tr_buf_data_uart1[4]=ByteData; CRCSum1=GetCRCSum1(Tr_buf_data_uart1,5); Tr_buf_data_uart1[5]=CRCSum1; StartTrans1(6); }