我的板子是mini2440,在扩展串口1上连接了一个波特率为9600的GSM模块,向模块发送一个指令,模块返回相应的字符串。
我的波特率是在程序里设置的termios结构体。是9600。
cfsetispeed(&options, B9600);
cfsetospeed(&options, B9600);
现在问题是接收buffer读不到返回值。读出来的数据长度都是0.
if (write(fde, "at\r", 3) < 3)
{
printf("write failed!\n");
continue;
}
else
printf("write success!\n");
bufptr = buffer;
while ((nbytes = read(fde, bufptr, buffer + sizeof(buffer) - bufptr - 1)) > 0)
{
bufptr += nbytes;
if (bufptr[-1] == '\n' || bufptr[-1] == '\r')
break;
}
*bufptr = '\0';
[ 此帖被haliiz在2010-10-14 23:16重新编辑 ]