新闻中心

EEPW首页>嵌入式系统>设计应用> 基于S3C44B0X的嵌入式Socket通信实现

基于S3C44B0X的嵌入式Socket通信实现

作者: 时间:2013-02-19 来源:网络 收藏

  本设计使用的套接字为流式套接字,下面是运行于32位微处理器嵌入式开发平台的客户端应用程序:

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  int main(int argc,char *argv[])

  {

  int s;

  char buffer[256];

  struct sockaddr_in addr;

  struct hostent *hp;

  struct in_addr in;

  struct sockaddr_in local_addr;

  if (argc 2) return;

  if(!(hp=gethostbyname (argv[1]))){

  fprintf(stderr,"Can't resolve host.");

  exit (1);

  }

  if ((s = socket(AF_

  INET,SOCK_STREAM,0)) 0){

  perror ("socket");

  exit (1);

  }

  bzero (addr,sizeof (addr));

  addr.sin_family = AF_INET;

  addr.sin_port=htons((unsigned short)atoi(argv[2]));

  hp = gethostbyname(argv[1]);

  memcpy(local_addr.sin_addr.s_addr,hp->h addr,4);

  in.s_addr = local_addr.sin_addr.s_addr;

  printf ("Domain Name %s" argv

  printf ("IP address :%s",inet_ntoa (in));

  printf("%s,%s",hp->h_name,argv[2]);

  addr.sin_addr.s_addr=inet_addr(hp->h_name);

  if connect(s,(struct sockaddr *)addr,sizeof (addr))0){

  perror ("connect");

  exit (1);

  }

  recv (s,buffer,sizeof (buffer),0);

  printf ("%s",buffer);

  while(1);

  bzero(buffer,sizeof (buffer));

  read (STDIN_FILENO,buffer,sizeof(buffer));

  if (send (s,buffer,sizeof (buffer),0)0){

  perror ("send");

  exit (1);

  }

  }

  }

  4 结束语

  设计开发了基于的以太网通信系统,并利用uClinux操作系统强大的网络功能实现了。由于uClinux目前只支持flat格式的可执行文件,因此本设计是在先建立好uClinux开发环境的情况下,把用户自行开发的应用程序通过宿主PC机上的交叉编译器转化为flat格式,然后再通过FTP添加到目标硬件开发平台上运行的。文中的客户端应用程序已经在基于ARM7TDMI核的处理器的嵌入式开发平台上成功运行,并成功地和宿主PC机的服务器端应用程序实现了。当然,也可以把目标硬件开发平台当作服务器端,而把宿主PC机当作客户端来进行双向文件传输。

参考文献:

[1].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[2].RS485datasheethttp://www.dzsc.com/datasheet/RS485_585289.html.
[3].S3C44B0Xdatasheethttp://www.dzsc.com/datasheet/S3C44B0X_.html.
[4].RISCdatasheethttp://www.dzsc.com/datasheet/RISC_1189725.html.
[5].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARM7TDMI_2.html.
[6].CS8900Adatasheethttp://www.dzsc.com/datasheet/CS8900A_593567.html.


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭