Knihovna Port.dll
Stáhněte si ji.
Knihovna Port.dll je z CD-ROMu přiloženého ke knize Využití rozhraní PC pod Windows od nakladatelství HEL.
Je to normální DLL knihovna (Dynamic Link Library) a proto je možné ji použít v libovolném programovacím jazyce.
V Delphi se knihovna k programu připojuje tak, že do části INTERFACE napíšete:
Konstanta THEDLL označuje jméno knihovny DLL.
Procedura DELAY vytváří časové zpoždění. Jejím jediným parametrem je čas v milisekundách.
Procedurou TIMEINIT zapnete počítání času v milisekundách. Uplynulý čas můžete přečíst
funkcí TIMEREAD.
Procedura DELAYUS vytváří časové zpoždění. Jejím jediným parametrem je čas v mikrosekundách.
Procedurou TIMEINITUS zapnete počítání času v mikrosekundách. Uplynulý čas můžete přečíst
funkcí TIMEREADUS.
Procedurou OUTPORT můžete zapsat byte na určitý port (je určen adresou). Například PC-speaker má adresu 97 (ovládá se bitem 1), LPT1 má většinou adresu 378h, LPT2=278h, COM1=3F8h, COM2=2F8h, COM3=3E8h, COM4=2E8h. Každý port většinou používá uvedenou adresu a dále ještě několik (např. 6) následujících adres - všechny datové vodiče se nedají ovládat pouhými osmi bity. Navíc se většinou střídají porty pro čtení a porty pro zápis. Problémem přímého ovládání portů je, že funguje jenom v DOSových systémech (Win3.1, Win3.11, Win95, Win98, WinME). V systémech NT (WinNT, Win2000, WinXP) přímý přístup na porty nemáte a proto je v nich tato procedura k ničemu.
Funkce INPORT přečte hodnotu portu určeného adresou. Používá se podobně jako procedura OUTPORT a platí pro ni stejná omezení.
Funkce OpenCOM slouží k otevření a inicializaci sériového portu. Jejím parametrem je řetězec, který se z důvodu kompatibility s jinými jazyky než Delphi předává jako ukazatel na znak (PChar). Volání funkce pak vypadá například takto: "OpenCOM(PChar('COM1:9600,N,8,1'));". Jak jste jistě poznali, hodnota "COM1" je jméno sériového portu, který otevíráme. "9600" je přenosová rychlost v baudech (možné hodnoty: 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 - na všech počítačích a ve všech systémech nemusí být všechny uvedené hodnoty přístupné). Další parametr - "N" - značí, že při přenosu dat nebudou vysílány žádné paritní bity. "8" je počet datových bitů. "1" je počet stopbitů. Poslední tři parametry většinou nebudete muset měnit. Návratová hodnota funkce by mělo být číslo chyby (0 = OK), ale nevím to jistě.
Funkce READBYTE načte byte z vyrovnávací paměti vstupního datového kanálu aktuálně otevřeného sériového portu.
Procedura SENDBYTE zapíše byte do vyrovnávací paměti výstupního datového kanálu aktuálně otevřeného sériového portu - odtud se byty automaticky vysílájí na sériový port.
Procedura REALTIME (reálný čas): pokud ji zavoláte s hodnotou TRUE, zapnete mód reálného času, který zvyšuje spolehlivost funkce "TIMEREADUS" a "DELAYUS".
Další procedury a funkce slouží k obsluze zvukové karty a joysticku. Na jejich použití jistě příjdete sami.