|  | 
| 我明白了,但是程序现在这样写,
 复制代码void serial_rw()
{        
        int j,nwrite,nread;
        int i = 3;
        int Vfypwd[]={0xef,0x01,0xff,0xff,0xff,0xff,0x01,0x00,0x07,0x13,0x00,0x00,0x00,0x00,0x00,0x1b};
        int buffer[64]={0};
        while (i--)
        {
                for(j=0;j<16;j++)
                {
                        write(serial_fd,Vfypwd[j],1);        
                }
                printf("\nsend %x\n\n",Vfypwd);        
                nread = read(serial_fd,buffer,64);
                printf("\n%d recv,is %x\n",nread,buffer);
                sleep (3);         
                
                
        }
        close(serial_fd);
}
 用十六进制%x输出,为什么是这些:
 [root@EmbedSky zhiwen]# ./uart1_zhiwen
 readserailcfg
 serialread.dev is /dev/tq2440_serial2
 serialread.speed is 9600
 serialread.databits is 8
 serialread.stopbits is 1
 serialread.parity is N
 Vfypwd out!
 
 send beef3ae0
 
 
 0 recv,is beef39e0
 Vfypwd out!
 
 send beef3ae0
 
 
 0 recv,is beef39e0
 Vfypwd out!
 
 send beef3ae0
 
 
 0 recv,is beef39e0
 
 虽然现在还是0 Recv我想先把十六进制包给发出去。
 | 
 |