POSIDRIVE FDS4000 <---> Linux, rs232

Jun 08, 2004 0 Replies

Witam, mam problem z komunikacja przez rs232 miedzy platforma Linux, a przetwornica czestotliwosci FDS4000. Z witryny producenta

formatting link
mam windowsowy sofcik do wysylania komunikatow. Pracuje na 3 zylowym kabelku: piny 2,3 i 5 niestandardowo skrosowanym. Z dokumentacji wynika, ze ramka ma nastepujaca budowe: 1 bit startu,



8 bitow danych, 1 bit stopu i 1 bit parzystosci (Even). Domyslna predkosc transmisji 9600 [baud]. Komunikacja w trybie poldupleks. Przerwa pomiedzy nadawaniem, a odbiorem ok. 100 ms. Usiluje uruchomic moj wlasny sofcik pod Linuksem.

Otwieram port tak: port_descriptor = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK); ustawiam port tak: bzero(&newtio, sizeof(newtio)); //zerowanie nowego zestawu flag newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD | PARENB; newtio.c_iflag = IGNPAR; newtio.c_oflag = 0; //RAW output newtio.c_lflag = 0; //lub NOFLSH newtio.c_cc[VMIN]=5; /* minimalna ilo&#182;ć znaków do odczytu */ newtio.c_cc[VTIME]=0; /* timeout nie używany */ opróżniam bufory i ustawiam nowe parametry: tcflush(port_descriptor, TCIFLUSH); tcsetattr(port_descriptor,TCSANOW,&newtio);



wysylanie danych standardowo: write(port_descriptor,buffer,buffer_length);



przerwy w komunikacji: usleep(100000); Przetwornica uparcie milczy. Prawie na pewno nie rozpoznaje wysylanych komunikatow. Nie wiem co jest nie tak. Przeszukalem dokumentacje, analizowalem zrodelka, Google milcza. Serwis nie potrafi pomoc w tym przypadku.



Gdzie szukac rozwiazania ...?



Pozdrawiam


Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required