在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 文件I/O編程之: 實(shí)驗(yàn)內(nèi)容

            文件I/O編程之: 實(shí)驗(yàn)內(nèi)容

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

            本文引用地址:http://www.biyoush.com/article/257134.htm

            (2)編寫代碼。

            編寫宿主機(jī)和目標(biāo)板上的代碼,在這些程序中用到的open_port()和set_com_config()函數(shù)請(qǐng)參照6.4節(jié)。這里只列出宿主機(jī)上的代碼。

            /*com_host.c*/

            #includestdio.h>

            #includestdlib.h>

            #includeunistd.h>

            #includestring.h>

            #includefcntl.h>

            #includesys/types.h>

            #includesys/stat.h>

            #includeerrno.h>

            #includeuart_api.h

            intmain(void)

            {

            intfds[SEL_FILE_NUM],recv_fd,maxfd;

            charbuff[BUFFER_SIZE];

            fd_setinset,tmp_inset;

            structtimevaltv;

            unsignedloop=1;

            intres,real_read,i;

            /*將從串口讀取的數(shù)據(jù)寫入這個(gè)文件中*/

            if((recv_fd=open(RECV_FILE_NAME,O_CREAT|O_WRONLY,0644))0)

            {

            perror(open);

            return1;

            }

            fds[0]=STDIN_FILENO;/*標(biāo)準(zhǔn)輸入*/

            if((fds[1]=open_port(HOST_COM_PORT))0)/*打開串口*/

            {

            perror(open_port);

            return1;

            }

            if(set_com_config(fds[1],115200,8,'N',1)0)/*配置串口*/

            {

            perror(set_com_config);

            return1;

            }

            FD_ZERO(inset);

            FD_SET(fds[0],inset);

            FD_SET(fds[1],inset);

            maxfd=(fds[0]>fds[1])?fds[0]:fds[1];

            tv.tv_sec=TIME_DELAY;

            tv.tv_usec=0;

            printf(Inputsomewords(enter'quit'toexit):n);

            while(loop(FD_ISSET(fds[0],inset)||FD_ISSET(fds[1],inset)))

            {

            tmp_inset=inset;

            res=select(maxfd+1,tmp_inset,NULL,NULL,tv);

            switch(res)

            {

            case-1:

            {

            perror(select);

            loop=0;

            }

            break;

            case0:/*Timeout*/

            {

            perror(selecttimeout);

            loop=0;

            }

            break;

            default:

            {

            for(i=0;iSEL_FILE_NUM;i++)

            {

            if(FD_ISSET(fds[i],tmp_inset))

            {

            memset(buff,0,BUFFER_SIZE);

            /*讀取標(biāo)準(zhǔn)輸入或者串口設(shè)備文件*/

            real_read=read(fds[i],buff,BUFFER_SIZE);

            if((real_read0)(errno!=EAGAIN))

            {

            loop=0;

            }

            elseif(!real_read)

            {

            close(fds[i]);

            FD_CLR(fds[i],inset);

            }

            else

            {

            buff[real_read]='