Jak na porty ve woknech?

Software potřebné k práci s elektronikou

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Yarda1
Příspěvky: 2372
Registrován: 11 úno 2009, 01:00

Jak na porty ve woknech?

#1 Příspěvek od Yarda1 »

Kdysi jsem si napsal v basicu prográmek co komunikoval po sériovém portu s vnějším zařízením a ze získaných dat kreslil na displej graf. Pro informaci kus programu:
1 clear
2 screen 9
6 gosub 1000
10 DIM A$(5)
15 rem - u programu v notebooku je potreba v nasledujicim prikazu zadat COM1
20 OPEN "COM1:9600,s,8,1,ds0" AS #1
30 CLS
35 rem
40 gosub 4000: rem precte a zahodi prvni cteni-muze byt neuplne
45 gosub 4000: IF MID$(Z$,4,1)<>"0" THEN GOTO 45: rem ceka na prvni slovo
50 FLAG=1:rem prvni platne slovo se pouzije
60 FOR N=1 TO 5
70 rem LOCATE 3,1:PRINT N
80 IF FLAG=1 THEN FLAG=0:GOTO 100
.....
4000 rem fl=0: on com(1) gosub 4500
4010 rem if fl=0 then print "Neprisla data":beep
4020 rem return
4500 line input #1,Z$: rem cte seriovy port
4510 rem fl=1
4520 return
......
Teď jsem si vzpomněl že by se mi mohl hodit, sice jsem jej (pod W XP) spustil, ale do komunikace se mi něco plete, asi wokna, takže program něco přečte a pak zgabne.
Tak by se mi docela hodilo kdyby existovalo něco na podobné pokusy pod woknama - jednoduchého abych to dokázal zvládnout a pokud možno free.

Uživatelský avatar
Zmije
Příspěvky: 1513
Registrován: 30 čer 2005, 02:00
Bydliště: Pardubický kraj

#2 Příspěvek od Zmije »

Problém je v tom, že to Basic dělal v real-modu pomocí přerušení biosu, nebo možná i přímo pomocí IO a přerušení od RS232, ale na takovou úroveň tě NT z userspace nikdy nepustí, buď si musíš napsat přímo ovladač pro rs232 a komunikovat s ním pomocí vlastního api, a nebo použít nativní WIN api, které není zase o tolik složitější než příklad v Basicu viz. http://www.ebastlirna.cz/modules.php?na ... ht=win+api

Uživatelský avatar
Honza_dy
Příspěvky: 2172
Registrován: 20 srp 2004, 02:00
Bydliště: Brno-venkov

#3 Příspěvek od Honza_dy »

Této problematice rozumím velice málo, ale když používám prográmky na ovládání displejů přes LPT & COM pod W-XP, tak je potřeba mít naistalovaný port driver. Bez tohoto komunikace prostě nefunguje. Koukni sem, třeba ti něco pomůže...

Návštěvník

#4 Příspěvek od Návštěvník »

Mì pøímý pøístup na (fyzické) COM porty pod XP normálnì funguje, bez jakýchkoliv driverù.

Uživatelský avatar
ezopaci
Příspěvky: 37
Registrován: 23 dub 2007, 02:00

#5 Příspěvek od ezopaci »

Anonym píše:Mě přímý přístup na (fyzické) COM porty pod XP normálně funguje, bez jakýchkoliv driverů.
Tak to ale mluvis o pripade, kdy tvuj program bezi v dos okne. Tam je to virtualizovane a porty "normalne" jakz-takz chodi.
Tomas

Uživatelský avatar
Zmije
Příspěvky: 1513
Registrován: 30 čer 2005, 02:00
Bydliště: Pardubický kraj

#6 Příspěvek od Zmije »

win api funguje na všech windows v konfiguraci jaká je hned po instalaci, žádne další drivery se instalovat nemusí, leda, že by RS232 bylo na nestandardní kartě, potom by se nainstalovaly ovladače k té kartě a zas by to mělo být přístupné přes win api.

Návštěvník

#7 Příspěvek od Návštěvník »

ezopaci píše:Tak to ale mluvis o pripade, kdy tvuj program bezi v dos okne. Tam je to virtualizovane a porty "normalne" jakz-takz chodi.
No on ten tazatelùv BASICovej program z DOSu taky asi pobìží v DOS oknì.

Uživatelský avatar
mtajovsky
Příspěvky: 3694
Registrován: 19 zář 2007, 02:00
Bydliště: Praha

#8 Příspěvek od mtajovsky »

Malá připomínka - uživatelé, když vidí okno s černým pozadím, tak tomu říkají "DOS" okno. Ovšem skutečné DOS okno to bude jen v případě, že se spustí 16 bitový program pro MS DOS. Jinak to okno není "DOS" okno, ale konsolové okno, a aplikace běžící v konsolovém okně je plnohodnotná 32 bitová aplikace s přístupem celou paměť, COMy, sockety a podobně. Jenom nemá utvořené grafické okno.

Uživatelský avatar
PotPalo
Příspěvky: 4565
Registrován: 13 kvě 2009, 02:00
Bydliště: BA-Petržalka :(
Kontaktovat uživatele:

#9 Příspěvek od PotPalo »

A čo takto pozrieť sa na nastavenie portov v správcovi zariadení? Mne blbla tlačiareň na LPT porte a bolo treba povoliť prerušenia (IRQ). Pri COM portoch je vhodné vypnúť medzipamäť FIFO.

Odpovědět

Zpět na „Software“