POSIDRIVE FDS4000 <---> Linux, rs232



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Bart" <bubba3_at_nospam_gazeta.SKASUJ-TO.pl>
Subject: POSIDRIVE FDS4000 <---> Linux, rs232
Date: Tue, 8 Jun 2004 13:10:11 +0000 (UTC)


Witam,
mam problem z komunikacja przez rs232 miedzy platforma Linux,
a przetwornica czestotliwosci FDS4000. Z witryny producenta
(www.stoeber.pl) 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

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai