[ kovach @ 03.12.2003. 22:28 ] @

IMAM VELIKI PROBLEM, I STVARNO BI MI DOBRO DOSLA SVAKA RASPOLOZIVA POMOC.
Moram da napisem softver u programskom jeziku C ili C++ koji ce da cita i na ekranu ispisuje stanja na serijskim portovima (COM1, COM2, COM3 ili COM4).Podaci ce na serijski port stizati sa mikrokontrolera AT89C2051.Problem je u tome sto Borlandov C++ 5.0 nece ni da startuje neke programe koje sam uradio, zato sto ne nalazi potrebne datoteke (npr. bioscomm.h), a ja sam i tu i slicne datoteke koje on NE nalazi pronasao u nekoj strucnoj literaturi.Meni se sve vise cini da ova i neke druge datoteke ne mogu da rade pod Windows operativnim sistemom, pa sam razmisljao da pokusam da downloadujem C koji radi u DOS OS jer mi jedino ta varijanta ostaje otvorena.Negde sam cuo da je to C v3.5 .Ako neko zna bilo kakvo resenje za ovakav problem, a da je resivo u C,C++,Asembleru,Paskalu ili C++builderu 5 (znaci, resenje ne mora biti striktno vezano za C jezike) neka mi javi, bio bih mu veoma zahvalan.Takodje me interesuje i koja to verzija C programskog jezika radi i u DOS-u i u Windows-u, a ako takva ne postoji onda da samo radi u DOS-u.

HVALA
[ Darth @ 03.12.2003. 22:44 ] @
I ja imam slican problem. Probao sam sa funkcijom inport ali mi stalno izbacuje 0. Da li ovakav program moze da se odradi bez interrupt-a?
[ Dejan Lozanovic @ 04.12.2003. 13:36 ] @
ne znam sta da ti kazem, ali recimo ako ti nije vazan os, ja bi probao sa linuxom da se tu zezam, pre svega com portove ces otvoriti kao fajlove(/dev/ttyS0,/dev/ttyS1 itd...), opet sa druge strane imas i C kompajler za atmelove mikrokontrolere doduse za at90xxxx seriju i novije. tako da je i sam razvoj mikrokontrolera mnogo laksi. Ispitivanje stanaj i ispis na ekran je kod od nekih 50-100 linija koda.
[ Beban @ 04.12.2003. 23:14 ] @
Ovako...
Ovo ssto ccu napisato odnosi se na Windows i SDK, tako da pretpostavljam da cce ti raditi i pod Borlandovim kompajlerima, mada ja liccno koristim Microsoft Visual Studio. U njegovom helpu su detaljno objassnjene sve funkcije, tako da se ja neccu upusstati u to, vecc ccu pokussati da sugerissem naccin na koji mozzess rijessiti problem.

HANDLE na neki uredjaj (fiziccki disk, portove, itd) mozzess dobiti funkcijom CreateFile. Znacci, ova funkcija ne sluzzi samo za kreiranje fajlova. Onda podatke sa tog uredjaja ccitass funkcijom ReadFile.

Prije ccitanja podataka potrebno je da postaviss protokol komunikacije na tvom serijskom portu. Parametre sadrzzi struktura DCB, popuni je onim podacima koji su ti potrebni (parity bit, broj bitova, baud rate i sl.).

Pogledaj i funkcije SetCommState , BuilCommDCB.
U Microsoftovoj dokumentaciji ccess dalje nacci gomilu linkova ka drugim funkcijama i primjerima svega toga. Ako je nemass na disku, imass na Internetu, na adresi: http://msdn.microsoft.com

P.S.
Serijski port sam i ja koristio za rad mikrokontrolerima Z-World koji se programiraju u Dynamic C-32 jeziku. Komunikacija je savrsseno radila sa programima pisanim u Visual C++...

I na kraju, najjednostavnije rjessenje: pokussaj pronacci neke gotove klase na internetu, ima ih dosta i sa source code-om.