seriova komunikace v C

Dalibor Straka dast na panelnet.cz
Sobota Prosinec 13 02:11:06 CET 2003


Dobry den,
On Sat, Dec 13, 2003 at 12:31:43AM +0100, marek cervenka wrote:
> 
> zdravim,
> 
> narazil jsem na takovy problem u teplotniho cidla
> http://www.papouch.com/tm.html
> 
> pro ovladani pouzivam malinko upraveny
> http://www.papouch.com/soft/tm.c
> 
> u pocitacu s vykonem na urovni 486ky cidlo reaguje velmi pomalu, nebo 
> dokonce vubec
> 
> snazil jsem se prolouskat ten zdrojak, ale nedari se mne najit pricinu
> muze mne nekdo osvetlit jake jsou rozdily pri komunikaci se seriovym 
> portem u ruzne rychlych pocitacu, popr. jak se to resi?
> 

Nehodlam cist ten zdrojak protoze spravny teplomer pripojeny na port ma
zobrazovat teplotu takto*):
$ cat /dev/ttyS0

Ten samy vyrobek a program na rychlem pocitaci funguje zcela spravne?
Jaky je load nebo cpu aktivita na te 486? Kdyztak upravte zdrojak. No
nedalo mi to a podival jsem se na tm.c, je psan pro hp-ux. Zkontrolujte
poradne ten kod - api, datove struktury, parametry seriove linky.

Ve zdrojacku je take spousta empirickych hodnot! Typu:
/* nastavim timout, pro jistotu dost velky  */
  tv.tv_sec = 12;
/* za 1 sekundu shozeneho napajeni by mel teplomer urcite chcipnout */
/* (aby pak hned po nahozeni napajeni poslal teplotu a nemuselo se */
/* pripadne cekat 10 vterin */
  sleep(1);

Zkusil bych dopsat nejaky sleep po /*zapnu teplomer*/ power_on();

Hezky vikend,
-- Dalibor Straka
*) Nedavno jsem takovy teplomer napsal pro 51. No je proste lepsi nez
ten strahovackej.


Další informace o konferenci Linux