|
我明白了,但是程序现在这样写,- 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我想先把十六进制包给发出去。 |
|