思维导图
控制机械臂
#include<myhead.h>
#define SER_PORT 8888
#define SER_IP "192.168.125.93"
#define CLI_PORT 1314
#define CLI_IP "192.168.125.43"
int main(int argc, char const *argv[])
{
int cfd =1;
cfd=socket(AF_INET,SOCK_STREAM,0); //创建通信套接字
if(cfd==-1)
{
perror("socket error");
return -1;
}
printf("cfd=%d\n",cfd);
struct sockaddr_in cin;
cin.sin_family=AF_INET;
cin.sin_port=htons(CLI_PORT);
cin.sin_addr.s_addr=inet_addr(CLI_IP);
if(bind(cfd,(struct sockaddr*)&cin,sizeof(cin))==-1)
{
perror("bind error");
return -1;
}
printf("bind success\n");
struct sockaddr_in sin;
sin.sin_family=AF_INET;
sin.sin_port=htons(SER_PORT);
sin.sin_addr.s_addr=inet_addr(SER_IP);
if (connect(cfd,(struct sockaddr*)&sin,sizeof(sin))==-1)
{
perror("connect error");
return -1;
}
printf("connect success\n");
unsigned char buf[5]={0xff,0x02,0x01,0x90,0xff};
unsigned char buf1[5]={0xff,0x02,0x00,0x00,0xff};
char order1='w';
char order2='s';
char order3='a';
char order4='d';
while (1)
{
//bzero(buf,sizeof(buf));
printf("please enter:");
char order=fgetc(stdin);
if (order==order1)
{
buf[3]+=2;
send(cfd,buf,sizeof(buf),0);
}
else if (order==order2)
{
buf[3]-=2;
send(cfd,buf,sizeof(buf),0);
}
else if(order==order3)
{
buf1[3]+=2;
send(cfd,buf1,sizeof(buf1),0);
}
else if(order==order4)
{
buf1[3]-=2;
send(cfd,buf1,sizeof(buf1),0);
}
printf("角度:%02x ",buf[3]);
printf("\n");
// fgets(buf,sizeof(buf),stdin);
//buf[strlen(buf)-1]=0;
//send(cfd,buf,sizeof(buf),0);
printf("发送成功!\n");
/* if(strcmp(buf,"quit")==0)
{
break;
}
recv(cfd,buf,sizeof(buf),0);
printf("[%s:%d]:%s\n",SER_IP,SER_PORT,buf);
printf("DONE!!\n");
*/
}
close(cfd);
return 0;
}