diff --git a/Modbus_communication/Modbus_RTU_Salve/RTU_Salve.cpp b/Modbus_communication/Modbus_RTU_Salve/RTU_Salve.cpp index 41b2b31..8494576 100644 --- a/Modbus_communication/Modbus_RTU_Salve/RTU_Salve.cpp +++ b/Modbus_communication/Modbus_RTU_Salve/RTU_Salve.cpp @@ -192,7 +192,18 @@ void Create_0x10_Response_Message(UINT8 *Requst_Message, UINT8 *Response_Message } } - +/********************************************************************************************* +* 功能     :  生成异常功能码响应报文 +* 描述    : 对不支持的功能码生成对应的异常响应报文 +* 输入 : *Requst_Message 请求报文 *Response_Message响应报文 +* 返回值 : 无 +**********************************************************************************************/ +void Create_Abnormal_Function_Code_Response_Message(UINT8 *Requst_Message, UINT8 *Response_Message) +{ + Response_Message[0] = Device_ID; + Response_Message[1] = Requst_Message[1] + 0x80; + Response_Message[2] = 0x01; +} /********************************************************************************************* * 功能     :  生成响应报文 * 描述    : 检查设备请求报文来生成对应功能的响应报文 @@ -211,7 +222,7 @@ bool Create_Response_Message(UINT8 *Requst_Message, UINT8 *Response_Message) case 0x03:Create_0x03_Response_Message(Requst_Message, Response_Message); break; case 0x0F:Create_0x0F_Response_Message(Requst_Message, Response_Message); break; case 0x10:Create_0x10_Response_Message(Requst_Message, Response_Message); break; - default: + default: Create_Abnormal_Function_Code_Response_Message(Requst_Message, Response_Message); } return true; }