ПО для работы с com портом
Модератор: /dev/random
-
batan
- Сообщения: 72
ПО для работы с com портом
необходимо подключить pH метр через ком порт и собсно какой-нить прогой снимать показания прибора в режиме реалтайм. мот кто сталкивался или знает как такое реализовать?
-
/dev/random
- Администратор
- Сообщения: 5456
- ОС: Gentoo
Re: ПО для работы с com портом
Попробуйте dd if=/dev/ttyS0 bs=1
-
batan
- Сообщения: 72
Re: ПО для работы с com портом
batan@virus:~$ dd if=/dev/ttyS0
0+0 records in
0+0 records out
0 bytes (0 B) copied, 6,9072e-05 s, 0,0 kB/s
что при подключонном, что при одключонном - всё одинаково.
-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: ПО для работы с com портом
Код: Выделить всё
int comfd;
void tty_init(){
int i;unsigned char c[1000];
fprintf(outfile,"\nОткрываю порт...\n");
if ((comfd = open("/dev/ttyS0",O_RDWR|O_NOCTTY|O_NONBLOCK)) < 0){
fprintf(stderr,"Can't use port %s\n",comdev);
exit(1);
}
fprintf(outfile, " OK\nПолучаю текущие настройки порта...\n");
ioctl(comfd,TCGETA,&oldtty); // Узнаем текущие параметры порта
tty = oldtty;
tty.c_lflag = 0;
tty.c_iflag = BRKINT;
tty.c_oflag = 0;
tty.c_cflag = B9600|CS8|CREAD|CLOCAL|PARENB;
tty.c_cflag &= ~PARODD;
tty.c_cc[VMIN] = 0;
tty.c_cc[VTIME] = 1;
ioctl(comfd,TCSETA,&tty);
fprintf(outfile," OK\n");
}А потом просто read(comfd, data)
Ничего сложного (только флаги и скорость правильные выставите)
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
batan
- Сообщения: 72
Re: ПО для работы с com портом
eddy писал(а): ↑04.02.2010 17:51Код: Выделить всё
int comfd; void tty_init(){ int i;unsigned char c[1000]; fprintf(outfile,"\nОткрываю порт...\n"); if ((comfd = open("/dev/ttyS0",O_RDWR|O_NOCTTY|O_NONBLOCK)) < 0){ fprintf(stderr,"Can't use port %s\n",comdev); exit(1); } fprintf(outfile, " OK\nПолучаю текущие настройки порта...\n"); ioctl(comfd,TCGETA,&oldtty); // Узнаем текущие параметры порта tty = oldtty; tty.c_lflag = 0; tty.c_iflag = BRKINT; tty.c_oflag = 0; tty.c_cflag = B9600|CS8|CREAD|CLOCAL|PARENB; tty.c_cflag &= ~PARODD; tty.c_cc[VMIN] = 0; tty.c_cc[VTIME] = 1; ioctl(comfd,TCSETA,&tty); fprintf(outfile," OK\n"); }
А потом просто read(comfd, data)
Ничего сложного (только флаги и скорость правильные выставите)
простите, я в этом мало что понимаю, но система пишет
Код: Выделить всё
batan@virus:~$ read(comfd, data)
bash: syntax error near unexpected token `comfd,'-
eddy
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: ПО для работы с com портом
Какой баш? Это на С. Если не понимаете, попробуйте minicom какой-нибудь.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
-
Skaarj
- Сообщения: 311
- ОС: Slackware
Re: ПО для работы с com портом
Рекомендую попробовать komport.
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: ПО для работы с com портом
Могу за (относительно) немного денег переделать утилиту поиска оборудования на ком-порту из OTPD под ваши нужды.
Естественно, с вас спецификации протокола оборудования.

Также - если вы знаете JavaScript и/или QtScript - вы можете переделать под свои нужны com2tcp сервер из решений QDroid . В этом случае вам также надо будет осмотре6ться в основах фреймворка QDroid, но я вам с удовольствием с этим помогу. ссылки на проекты см в подписи.
Естественно, с вас спецификации протокола оборудования.
Также - если вы знаете JavaScript и/или QtScript - вы можете переделать под свои нужны com2tcp сервер из решений QDroid . В этом случае вам также надо будет осмотре6ться в основах фреймворка QDroid, но я вам с удовольствием с этим помогу. ссылки на проекты см в подписи.