新聞中心

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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 香格里拉县| 砀山县| 开封县| 古浪县| 雅安市| 东辽县| 仙桃市| 宁蒗| 平阳县| 茌平县| 镇宁| 中宁县| 吴桥县| 武清区| 中超| 米林县| 修文县| 榕江县| 株洲县| 湖北省| 无锡市| 邯郸市| 吴川市| 汤原县| 双流县| 枞阳县| 奇台县| 永兴县| 关岭| 章丘市| 甘谷县| 肇东市| 辰溪县| 凤翔县| 博野县| 福清市| 南城县| 保山市| 台东县| 读书| 油尖旺区|