亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1232 | 回復(fù): 0
打印 上一主題 下一主題

[SCO UNIX] SCO UNIX下串口通訊問(wèn)題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2005-02-25 12:24 |只看該作者 |倒序?yàn)g覽
以下是一段UNIX下與串口設(shè)備通訊的程序,當(dāng)系統(tǒng)運(yùn)行一段時(shí)間,大概是兩個(gè)月左右,會(huì)出現(xiàn)通訊超時(shí)現(xiàn)象,無(wú)法與串口通訊,不知為什么,請(qǐng)各位幫忙看看。
以上故障通過(guò)更換硬盤后能解決,說(shuō)明外部設(shè)備及主機(jī)硬件無(wú)問(wèn)題,很可能出在操作系統(tǒng)上面,我的版本為5.0。5。

int RsNect(lfd,speed,Smsg,SN,Rmsg,RN,wait)
int lfd,speed,wait,SN,RN;
char *Smsg,*Rmsg;
{
char check_sum,message_len=0;
int t,i,j,k,b;
char message[MAX_MESS_LEN];
char c;
unsigned char TmpBuff;
void (*sigfn)(int);

struct termio linesave,ctrlsave;
void (*sigintr)(int),(*sigquit)(int);
int pid,status;
sigintr=signal(SIGINT,SIG_IGN);
sigintr=signal(SIGQUIT,SIG_IGN);

ioctl(0,TCGETA,&ctrlsave);
ioctl(lfd,TCGETA,&linesave);
  

if(tty_raw(lfd,speed,0,100)==ERROR){ /*0.1 seconds*/
   
    ioctl(0,TCSETAF,&ctrlsave);
    ioctl(lfd,TCSETAF,&linesave);
    signal(SIGINT,sigintr);
    signal(SIGQUIT,sigquit);
    return(SERIAL_PORT_ERR);
}

     /*** 鎖鍵盤 ***/      
    Wcode(lfd,LKEY);
    Wcode(lfd,EPORT);
    Wcode(lfd,PTOH);
    Wcode(lfd,ABYTE);
    Wcode(lfd,HTOPB);
        for(i=0;i++<100
                for(j=0;j<1000;j++)k=0; /*ten more by xiazh*/
    for(i=0;i<SN;i++)
    {
      to(lfd,Smsg);
    }
    Wcode(lfd,HTOPE);
   
    for(j=0;j<RN;j++)
    {
     timeout=FALSE;
     sigfn=signal(SIGALRM,settimeout);
     alarm(wait);
  Rtn:
     b=read(lfd,&TmpBuff,1);
     
      alarm(0);
      signal(SIGALRM,sigfn);
        if(!b) break;
     if (timeout==TRUE)
     {
          /*** 關(guān)閉輔口 ***/
            Wcode(lfd,DPORT);
                        fflush(stdin);
                        fflush(stdout);
            Wcode(lfd,UKEY);
        for(i=0;i++<10000
                for(j=0;j<5000;j++)k=0; /*five more */
          /*** 恢復(fù)終端設(shè)置 ***/
   
        ioctl(0,TCSETAF,&ctrlsave);
        ioctl(lfd,TCSETAF,&linesave);

        signal(SIGINT,sigintr);
        signal(SIGQUIT,sigquit);
           /*/printf("timeout\n";*/
*****************程序退出位置 ***************************
        return(0);
      }
      if (TmpBuff==0xff)
        goto Rtn;
       else
        Rmsg[j]=TmpBuff;   
    }
    Rmsg[j]=0;
        /*** 關(guān)閉輔口 ***/
    Wcode(lfd,DPORT);
        fflush(stdin);
        fflush(stdout);
    Wcode(lfd,UKEY);
        for(i=0;i++<100
                for(j=0;j<1000;j++)k=0; /*ten more */
        /*** 恢復(fù)終端設(shè)置 ***/

    ioctl(0,TCSETAF,&ctrlsave);
    ioctl(lfd,TCSETAF,&linesave);
    signal(SIGINT,sigintr);
    return (RN);

}
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP