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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2587 | 回復: 5
打印 上一主題 下一主題

有五ibm aix 下串口編程的例子,我從紅帽移植到aix下失敗 [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-04-28 14:30 |只看該作者 |倒序瀏覽
在紅帽下面程序能運行,但是移植到AIX下發(fā)送串口可以但是讀取失敗返回的errno = 11。有什麼需要注意的地方

論壇徽章:
0
2 [報告]
發(fā)表于 2008-04-28 14:38 |只看該作者
有的大大提供下,急用

論壇徽章:
0
3 [報告]
發(fā)表于 2008-04-28 15:42 |只看該作者
你不如發(fā)你的程序來看看吧

論壇徽章:
0
4 [報告]
發(fā)表于 2008-04-28 16:09 |只看該作者
以前沒接觸過AIX小型機,剛才寫了個測試程序,串口設備符為/dev/ttyp0,已BLOCK方式打開,一直堵在那里,看來是不是串口設備符出錯了,網(wǎng)上也找不到這個設備符的定義。

論壇徽章:
0
5 [報告]
發(fā)表于 2008-04-28 16:12 |只看該作者
我覺得應該還是系統(tǒng)沒設置好,各位大大有什嬤建議沒

論壇徽章:
0
6 [報告]
發(fā)表于 2008-04-28 16:42 |只看該作者
原程序如下
int IC_init(char *comx)
{
        struct termios    newtty;

        if ( (ICCOM =open(comx, O_RDWR|O_NOCTTY|O_NONBLOCK )) < 0 )
                return -21;

        memset(&newtty, 0, sizeof(newtty));

        newtty.c_iflag = IGNBRK;
        newtty.c_oflag = 0;
        newtty.c_cflag = B9600|CS8|CREAD|HUPCL|CLOCAL;
        newtty.c_lflag = 0;
        newtty.c_cc[VMIN] = 1;

        tcflush(ICCOM, TCIFLUSH);
        tcsetattr(ICCOM,TCSANOW,&newtty);

        //Ic init
        return IC_model_set(IC_RESET, NULL, NULL);
}



int IC_model_set( int model, char *data, char *retdata )
{
        int i,len=0;
        int flag=0;                //是否保存返回數(shù)據(jù)        0-不保存        1-保存
        long time=0;
        unsigned char LRC=0x00;
        unsigned char buffer[128];


        ICERRNO = 0x00;
        memset(buffer, 0, sizeof(buffer));

        buffer[0] = 0xAA;
        switch(model)
        {
                case IC_RESET:                        //密鑰機復位2+0)        command: 0x21
                        len=2;
                        flag=FALSE;
                        time=100*1000;                        //100ms
                        buffer[1]=0x21;                        //LEN
                        buffer[2]=0x32;                        //CMD
                        break;
                 }

                  for(i=1;i<len+1;i++)
                LRC ^= buffer;

        buffer[len+1]=LRC;
        buffer[len+2]=0xCC;

        return IC_read_buffer( buffer, len+3 ,flag, (unsigned char *)retdata, time);


unsigned char chr[8];
        unsigned char tmpbuf[128];
        unsigned char LRC = 0x00;
        unsigned char getdata[128];                        //從串口讀出的數(shù)據(jù)
        int getlen;
        int i,iret,len;

        memset( getdata, 0, sizeof(getdata) );
        memset( tmpbuf, 0, sizeof(tmpbuf) );
        memset( chr, 0, sizeof(chr) );

        tcflush(ICCOM, TCIFLUSH);                                        //清空串口緩沖區(qū)

//#ifdef _GMCC_DEBUG
        {
                int j;
                printf("Write Com data:\n\t");
                for(j=0; j<cmd_len; j++)
                {
                        printf("%02X  ",cmd[j]);
                        if( (j+1)%16 == 0 )
                                printf("\n\t");
                }
                printf("\n");
                fflush(stdout);
        }
//#endif

        if ( (iret=write(ICCOM, cmd, cmd_len)) < cmd_len )                //寫入操作命令
        {
                printf("write error\n");
                return (ICERRNO=0x83,-1);
        }
        //debug start
        //usleep(times);
       
        usleep(1000*1000);
       
       
        //debug end
        if( (iret=read(ICCOM, chr, 3)) != 3)
        {
                printf("read error ICCOM=[%d],iret = [%d] errno = [%d]\n",ICCOM,iret, errno);
                return (ICERRNO=0x84,-1);
        }
}

大概程序如上,串口描述符是/dev/ttyp0.
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP