新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C44B0X的嵌入式Socket通信實(shí)現(xiàn)

基于S3C44B0X的嵌入式Socket通信實(shí)現(xiàn)

作者: 時(shí)間:2013-02-19 來源:網(wǎng)絡(luò) 收藏

  本設(shè)計(jì)使用的套接字為流式套接字,下面是運(yùn)行于32位微處理器嵌入式開發(fā)平臺(tái)的客戶端應(yīng)用程序:

  #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(?。╤p=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 結(jié)束語

  設(shè)計(jì)開發(fā)了基于的以太網(wǎng)通信系統(tǒng),并利用uClinux操作系統(tǒng)強(qiáng)大的網(wǎng)絡(luò)功能實(shí)現(xiàn)了。由于uClinux目前只支持flat格式的可執(zhí)行文件,因此本設(shè)計(jì)是在先建立好uClinux開發(fā)環(huán)境的情況下,把用戶自行開發(fā)的應(yīng)用程序通過宿主PC機(jī)上的交叉編譯器轉(zhuǎn)化為flat格式,然后再通過FTP添加到目標(biāo)硬件開發(fā)平臺(tái)上運(yùn)行的。文中的客戶端應(yīng)用程序已經(jīng)在基于ARM7TDMI核的處理器的嵌入式開發(fā)平臺(tái)上成功運(yùn)行,并成功地和宿主PC機(jī)的服務(wù)器端應(yīng)用程序?qū)崿F(xiàn)了。當(dāng)然,也可以把目標(biāo)硬件開發(fā)平臺(tái)當(dāng)作服務(wù)器端,而把宿主PC機(jī)當(dāng)作客戶端來進(jìn)行雙向文件傳輸。

參考文獻(xiàn):

[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 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉