[ de_c0der @ 05.04.2007. 09:23 ] @
od windowsa nt vise nije moguce writefile('LPT1:'... ) jel tako?

vec treba napisat drajver koji ce bit u r0 i loader koji ce bit u r3 i pozivat taj drajver

za lpt port je lako, on se nalazi na 0x378 mem. lokaciji al di se nalazi com port????? neda mi se petljat sa windows apijima tipa SetCommState, GetCommState, WriteFile etc



kako da ocitam nesto extremno brzo sa com porta?


pozdrav
[ alxsabo @ 05.04.2007. 10:16 ] @
Sve sto ti je potrebno za serijski port imas u komponenti:

http://sourceforge.net/projects/comport/

[ savkic @ 05.04.2007. 12:37 ] @
> od windowsa nt vise nije moguce writefile('LPT1:'... ) jel tako?

Ne, CreateFile, WriteFile, ReadFile su legalan način za komunikaciju sa uređajima na paralelnom i serijskom portu. Ono što više ne može na NTu je direktan pristup LPT i COM portu sa asemblerskim rutinama.
[ de_c0der @ 05.04.2007. 12:45 ] @
pazi, napravio sam po jednoj shemi IR (Infra Red) reciever, i spojio to na komp i koristio uICE program i radi savrseno, ocita svaki kod sa daljinskog etc. i sad zelim sam napisat programsku podrsku za to al nikako ne mogu nista ocitat, ... koristio sam i WaitForCommEvent i nista, daj neki primjer koda kako da to izvedem ako ti nije problem a ovo ti je shema tog uredjaja:

http://www.lirc.org/images/schematics.gif
[ de_c0der @ 05.04.2007. 13:18 ] @
podaci se salju preko RTS pina ili ovo DCD... sigurno nije preko grounda? ;D
[ savkic @ 05.04.2007. 16:35 ] @
> etc. i sad zelim sam napisat programsku podrsku za to al nikako ne mogu nista ocitat, ... koristio sam i WaitForCommEvent i nista, daj neki primjer
> koda kako da to izvedem ako ti nije problem a ovo ti je shema tog uredjaja:

Mislim da uz TComPort dolaze i demo aplikacije, ako ne mogu se verovatno naći na netu.
[ Jovan Prokopović @ 06.04.2007. 00:39 ] @
Ovaj IC prijemnik se napaja preko pina 7 (RTS - Request to Send), znaci tu stalno moras da drzis visok nivo tj. da drzis 1 na izlazu.
Podatke citas sa pina 1 (CD - Carrier Detect), standardno se podaci citaju sa pina 2 (RXD - Receive Data), pa je verovatno i to uzrok zasto nista ne mozes da procitas, pogledaj da li komponenta koju koristis podrzava ovakav rad.
[ de_c0der @ 06.04.2007. 11:24 ] @
ma ne zelim koristit nikakve komponente, zivcira me to... dal bi mogao u par redova koda da napises otprilike kako bi to islo?? vjerovatno treba CreateFile prvo (sad sta koristit... overlapped ili non-overlapped?), a zatim treba postavit SetCommMask valjda tako da nas obavjestava o promjenic CD pina (tu si rekao da se primaju podaci) i zatim pozvat WaitForCommEvent i nas thread se zamrzne i cekamo da se nesto desi, kad se desi promjena uradim ReadFile i to bi bilo to..

mislim da sam ovaj gore nacin vec probao i da nije radilo pa aj ako ti nije problem da ti to napises pa da vidim mozda sam nesto fulo u kodu ;)

a ona ccport komponenta ... ne kontam ni kako da ju instaliram mada ne volim neke third-part komponenta koristit, najbolje bi bilo kad bi uspio preko apija

pozdrav
[ Srki_82 @ 06.04.2007. 11:39 ] @
COMPort komponente su open source, ne moras da ih instaliras nego mozes samo da iskopas kod koji cita i pise na COM. To je lepota open source projekata
[ savkic @ 06.04.2007. 13:28 ] @
Pogledaj kako je to napisano u TComPort komponenti.
[ de_c0der @ 06.04.2007. 14:59 ] @
ma joj, ko ce se snac tamo, ima pet tisuca .pas fajlova ... nije valjda da nitko to ne moze da sredi u 3 reda koda??
[ obucina @ 07.04.2007. 00:19 ] @
Citat:
de_c0der: ma joj, ko ce se snac tamo, ima pet tisuca .pas fajlova ... nije valjda da nitko to ne moze da sredi u 3 reda koda??

Koristi komponentu i moci ces da sredis u tri linije koda. Komponente su nesto sto ces vremenom nauciti jaaaaaaaaako da cenis i volis...
[ de_c0der @ 10.04.2007. 10:24 ] @
e, na kojoj se adresi nalazi COM1 port, dal na $2F8 ili na $3F8?

adresu pronadjite: desni klik na my computer>properties>hardware>device manager>ports>COM1 port>desni klik pa properties>resource

e sad kako je Jovan rekao da se podaci citaju sa pina 1 (CD - Carrier Detect), na kojoj bi se on adresi nalazio??? pa onda jednostavno samo procitam tu memorijsku lokaciju kao sto sam i do sad to cinio sa lpt portom (postoji inpoutp32.dll tako nekako, koji poziva fje za citanje/pisanje portova koje se nalaze u drajveru)


pozz
[ alxsabo @ 10.04.2007. 20:53 ] @
de_c0der ajd javi mi se na mail.

Imam neke casopise vezane za elektroniku gde ima objasnjen direktan pristup COM portu iz delphija pa cu ti poslati, a i prijem preko IR nije toliko jednostavan koliko se cini. Ima tu vise standarda, al posto nije tema ovog foruma onda cemo o tome preko pp.