Всем салют!!!
Есть проблема, которую не могу решить из-за того, что являюсь профаном в
программировании COM порта...
Даю AT-команду модему сотового телефона на вывод содержимого некоего
файла в нем. Он в ответ должен сбросить содержимое в COM, что и
происходит, но не досчитывает нескольких десятков байт. Что делать не
знаю. Перебрал все установки termios - ничего не помогает. AT-команда
однозначно правильная.
Вот исходный текст блока программы:
//int fd, res;
*struct* termios options;
//fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
fcntl(fd, F_SETFL, 0);
//tcgetattr(fd, &options);
//options.c_cflag |= (CLOCAL | CREAD);
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
options.c_lflag |= (ISIG);
options.c_oflag &= ~OPOST;
options.c_cc[VMIN] = 0;
options.c_cc[VTIME] = 10;
//cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
//tcsetattr(fd, TCSANOW, &options);
char buffer[255555]=""/;/
char *bufptr;
int nbytes;
int tries;
int sum=0, num=0;
*for* (tries = 0; tries < 1; tries ++)
{
char coma[]="AT+QFRF=\"002F006D006C002F0069006D002F\",0,\"0036002E006A00700067\",1\r";
int len1=strlen(coma1);
*if* (write(fd, coma1, len1) < len1)
*continue*;
bufptr = buffer;
*while* ((nbytes = read(fd, bufptr, buffer + *sizeof*(buffer) - bufptr -
1)) > 0)
{
bufptr += nbytes;
}
//Данные сохраняются в массив buffer.
Есть у кого-нибудь соображения по этому поводу. Понимаю, что сообщение не в тему,
но больно хочется написать программу для сотового под Linux.
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 27898; Возраст листа: 1144; Участников: 1707
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/589127