日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

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

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

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

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

          評論


          相關(guān)推薦

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

          關(guān)閉