色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時間:2013-02-19 來源:網絡 收藏

            本設計使用的套接字為流式套接字,下面是運行于32位微處理器嵌入式開發(fā)平臺的客戶端應用程序:

            #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 結束語

            設計開發(fā)了基于的以太網通信系統(tǒng),并利用uClinux操作系統(tǒng)強大的網絡功能實現(xiàn)了。由于uClinux目前只支持flat格式的可執(zhí)行文件,因此本設計是在先建立好uClinux開發(fā)環(huán)境的情況下,把用戶自行開發(fā)的應用程序通過宿主PC機上的交叉編譯器轉化為flat格式,然后再通過FTP添加到目標硬件開發(fā)平臺上運行的。文中的客戶端應用程序已經在基于ARM7TDMI核的處理器的嵌入式開發(fā)平臺上成功運行,并成功地和宿主PC機的服務器端應用程序實現(xiàn)了。當然,也可以把目標硬件開發(fā)平臺當作服務器端,而把宿主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 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉