虽然modbus用的是16进制,但是要注意一点,modbus是把2个数加起来作为一个字符发送的
如“CDCA”,发送的实际为{12x16+13,12x16+10}两个char,并非4个char。
myModbus::myModbus()
{
;
}
myModbus::myModbus(std::string ipAddress0, int socketHton0)
{
ipAddress = ipAddress0;
socketHton = socketHton0;
}
int myModbus::myConnect()
{
WSADATA wsaData;
//char buff[256];
//memset(buff, 0, sizeof(buff));
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
{
printf("初始化Winsock失败");
return -1;
}
SOCKADDR_IN addrSrv;
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(socketHton);//端口号
const char* IP = ipAddress.c_str();
addrSrv