🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
2 messages
2 total messages Started by Tomasz Malarczuk Sat, 10 Dec 2011 21:25
dwa porty w jednym wątku
#72399
Author: Tomasz Malarczuk
Date: Sat, 10 Dec 2011 21:25
30 lines
2253 bytes
Witam
Pisze sobie programik który ma za zadanie czytać z ttyUSB0,analizować
i sterować urządzeniem na ttyS0
Problem mam taki, ze otwieram pierwszy port i dostaje handler jakiśtam
i wszystko działa
otwieram drugi port i wszystko siada, bo handler drugiego portu jest
taki sam jak pierwszego
Podpowiedzcie proszę, czym się posłużyć żeby obejść ten problem
Teraz mam tak
sPortName = 'ttyUSB0';

fd = open(sPortName, O_RDWR | O_NOCTTY | O_NDELAY);;
my_termios.c_cflag = B19200 | CS8 |CREAD | CLOCAL | HUPCL;
cfsetospeed(&my_termios, B19200);
tcsetattr(fd, TCSANOW, &my_termios);

sPortName = 'ttyS0';
fd2 = open(sPortName, O_RDWR | O_NOCTTY | O_NDELAY);;
my_termios.c_cfla2g = B19200 | CS8 |CREAD | CLOCAL | HUPCL;
cfsetospeed(&my_termios, B19200);
tcsetattr(fd2, TCSANOW, &my_termios);


Po takiej operacji fd = fd2
Jak to zrobić inaczej?
bardzo zależy mi, żeby dostęp do obydwu portów był możliwy z tej samej
funkcji bez zamykania poszczególnych portów bo obawiam się, że
zamykanie o i otwieranie zajmie za dużo czasu i będą przekłamania w
odczytach
TM
Re: dwa porty w jednym wątku
#72400
Author: Wojciech Jaczewski
Date: Sat, 10 Dec 2011 23:12
18 lines
1603 bytes
Tomasz Malarczuk wrote:

> Witam
> Pisze sobie programik który ma za zadanie czytać z ttyUSB0,analizować
> i sterować urządzeniem na ttyS0
> Problem mam taki, ze otwieram pierwszy port i dostaje handler jakiśtam
> i wszystko działa
> otwieram drugi port i wszystko siada, bo handler drugiego portu jest
> taki sam jak pierwszego
> [...]

System operacyjny na pewno nie zwraca tego samego deskryptora przy 
otwieraniu drugiego portu. Możesz to sobie sam zobaczyć, uruchamiając swój 
program pod strace.

Jeśli program jest odpowiednio krótki, to wklej go w całości na grupę, albo 
udostępnij gdzieś na WWW, to będzie można powiedzieć gdzie jest problem. Z 
wycinka, który podałeś nic w tej kwestii nie wynika.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads