|
我用的是TQ2440开发板自带的串口测试程序,及驱动,但是每次接受16进制数的时候都会出问题,开发板接受到的数据总比发的少了0x80,发的是0xcc 收到的肯定是0x4c ,我才肯定是程序问题,但是不知道该怎么改,求指导,万分感谢
void serial_rw()
{
int i;
char buff[512];
char buff2[] = "hello,TQ2440!\n";
int nread,nwrite;
nwrite = write(serial_fd,buff2,sizeof(buff2));
printf("nwrite=%d\n",nwrite);
while(1)
{
if((nread = read(serial_fd,buff,512))>0)
{
buff[nread] = '\0';
#if 0 //调用这段代码可以实现回显,如果配合上面的回显,就会出现回显两次的情况。
write(serial_fd,buff,nread);
#endif
printf("\nrecv:%d\n",nread);
#if 1
for(i=0;i<nread;i++)
{
printf("%x",buff);
}
printf("\n");
#else
printf("%s",buff);
printf("\n");
#endif
}
}
close(serial_fd);
|
|