[ bokiko @ 28.05.2005. 13:21 ] @
Da li je moguce, i kako uz pomoc C# izvrsiti programiranje portova na taj nacin da za odredjeni ulaz koji dobijem od nekog spoljnjeg uredjaja, imam odredjeni izlaz (na pr. na monitoru mi se u real time iscrtava crafikon atmosferskog pritiska za vrednosti koje dobijam od barometra ). Da li postoji neka literatura koja obradjuje tu tematiku???
[ mmix @ 28.05.2005. 15:15 ] @
To sto ti pitas je moguce (i primenjivano u praksi), ali konkretan odgovor zavisi od mernog uredjaja koji koristis. U svakom slucaju celo merenje se svodi na neki analgni input (barometar), A/D konvertor koji konvertuje izmernu vrednost u diskretnu numericku vrednost u nekom opsegu i interfejs ka kompjuteru koji tu vrednosst "nekako" dobaci u kompjuter.

E sad to "nekako" moze na gomilu nacina. Koji ces izabrati zavisi od broja samplova koji ti trebaju. Ako meris jednom u sekundi serijski port je idealan, interfejs "razbije" 8bitnu ili 16bitnu (ili kakvu god) izmerenu diskretnu vrednost u pojedinacne bitove i nafiluje u serijski port po nekom RS232 protokolu. Tvoj softver prati ulaz sa serijskog porta, skupi vrednost i ti je posle pretvoris u pribliznu analgnu vrednost (znajuci koji je opseg merenja) i iscrtas na ekranu.
Druga opcija koju sam video je upotreba LPT porta, preko njega u jednom cugu moze svih 8 bita da prodje sto ga cini malo brzim (moze da svari vise semplova u sekundi od serijskog porta). Noviji "spori" merni instrumenti koje sam video idu preko USBa ali sto se tice programiranja, simuliraju ili serijski ili paralelni port preko USBa.

Kao i ranije, za veliki broj semplova po sekundi potrebna je posebna merna kartica. Ima ih raznih a i cene su im razne . Googluj za "A/D data acquisition cards PCI" da vidis sta ima na ponudi... Postoje i brzi merni USB instrumenti ali oni su varijanta gornjeg, u prevodu rade pod sopstvenim drajverom. Svaki od ovih instrumenata ima svoj API i ne postoji konretan C# odgovor za njih. Retko, retko sam video da je .NET u igri ovde, ali cesto bude COM objekat koji mozes da iskorstis preko Interopa.

BTW, ako ti ikad padne na pamet da iskoristis A/D konvertor na audio kartici , imaj u vidu da ce vise od +/-20mV da je sprzi, pa moras napraviti reduktor koji ce svesti merene velicine u opseg +/-20mV. Takodje vecina kartica sa kojima sam ja eksperimentisao su imale "normalizator". Tj ako neki period vremena drzis npr konstatnto 5mV, kartica ce se adaptirati i prekalibrisati da joj 5mV bude vrednost 0, posledica cinjenice da je u prirodi zvucni signal uvek normalizovan. To cini audio karticu jedino dobrom za merenje signala koji je vec normalizovan. Sa druge strane, snimanje merenog signala se svodi na kod za snimanje "zvuka"

E sad ti izaberi koja ti tehnika treba, pa da vidimo koji C# kod mozes da iskoristis za ovo. Postoje vec gotove klase za C# koje rade sa serijskim i paralelnim portovima.

[ bokiko @ 31.05.2005. 07:50 ] @
Hvala na opseznom odgovoru