新聞中心

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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武胜县| 昭苏县| 阿拉善左旗| 鲁山县| 博爱县| 安庆市| 临夏县| 湘潭市| 呼和浩特市| 凤庆县| 武义县| 江油市| 兰坪| 洪洞县| 甘南县| 万荣县| 大连市| 新巴尔虎右旗| 墨竹工卡县| 神池县| 巴马| 宜城市| 东海县| 威宁| 赫章县| 上犹县| 托里县| 天柱县| 柳林县| 攀枝花市| 曲阜市| 抚顺市| 茶陵县| 绥中县| 平邑县| 安化县| 都江堰市| 抚宁县| 神池县| 怀仁县| 博兴县|