Port LPT

0

Jakie są biblioteki do obsługi portu LPT?

0

jeśli to XP: poszukaj sobie UserPort albo odrazu ściągnij
skopiuj UserPort.sys do C:\WINDOWS\system32\drivers\ i odpal UserPort.exe z dowolnego katalogu. Teraz masz dostęp do portów

dostęp? najprościej w asmie
[NASM]

  mov dx,word[$port]
  in al,dx ; odczyt bajtu
  mov byte[$bajt],al
0

A gdzie moge znaleś jakąś dokumentacje jak sterować portami (jakie są funkcje), bo chciałbym napisać program który strował by diodami LED po podłączeniu ich do portu LPT.

0

nie ma kursow programowania tego portu bo poco, poszukaj sobie w necie opis, przy porcie lpt masz trzy rejestry, rejestr bazowy dostepny dla lpt1 na 0x378 (chyba) - wystarczy wrzucic bajt i masz zapalone odpowiednie z 8 pinow tego portu (D0-D7)...

0

http://www.easy-soft.tsnet.pl/artykuly/lptecp/lptecp.html
kilka moich zbiorów http://free.of.pl/s/sapero/lptpdf.zip

CQ CQ DX!

Mam prośbę o podanie mi wartości stałej IOCTL_CHANGER_GET_PARAMETERS
potrzebuję jej do funkcji DeviceIoControl żeby obadać zakres portów dla poszczególnych portów LPT

wiem że

IOCTL_CHANGER_GET_PARAMETERS = CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS) 

wprawdzie mam zasób includów z C i C++, ale trapi mnie

#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m))

nie wiem jak to ugryźć, wiem że X<<1 to shift w lewo jeden raz

z tego co mi wyszło, to IOCTL_CHANGER_GET_PARAMETERS = 0x304000
a funkcja mi wywala error "0x57 parametr jest nieprawidłowy"
is this correct? Copy [green]

0

nie ma kursow programowania tego portu bo poco, poszukaj sobie w necie opis, przy porcie lpt masz trzy rejestry, rejestr bazowy dostepny dla lpt1 na 0x378 (chyba) - wystarczy wrzucic bajt i masz zapalone odpowiednie z 8 pinow tego portu (D0-D7)...

Nom o to chodziło to też wiem ale jak to wygląda na "papierze"?

Szukam w google ale pod jakiem zapytaniem najlepiej szukać?

Szukam tak:
C++ +LPT
C++ +port LPT
programowanie +LPT
bibliteki LPT

Jak jeszcze można?

Znalazłem coś:

http://knf.univ.gda.pl/~lothar/wyklad1/wyklad.htm

jest tam kod ale pod Borlanda a jak to zrobić pod Visuala?

0

poszukaj bibliotki inpout

0

No poszukałem:
W kategorii polski na googlach nic nie znalazł(trudno żęby znalazł :-| )
W kategorii z całego świata troche więcej koło 2000...

Znalazłem ciekawą stronke http://www.logix4u.net/

No poczytałem troche na tyle ile umiem angielski(mam 16lat)

I skleiłem takie coś:

#include < conio.h > 
#include < stdio.h >
#define ABP 0x378 

void main(void)
{
int wart;

wart=inb(ABP); 

printf("\n %d \n",wart);
} 

W trakcie kompilacji wyskakuje błąd.

--------------------Configuration: LPT - Win32 Debug--------------------
Compiling...
LPT.cpp
c:\program files\microsoft visual studio\myprojects\lpt\lpt.cpp(13) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.

LPT.exe - 1 error(s), 0 warning(s)

Może ktoś napisze mi albo naprowadzi przykładowy mały programik, który wysyła info do któregoś pinów D0-D7... ;(

0

wycinek z example userport

void outportb(UINT portid, BYTE value)
{
  __asm mov edx,portid
  __asm mov al,value
  __asm out dx,al
}

BYTE inportb(UINT portid)
{
  unsigned char value;

  __asm mov edx,portid
  __asm in al,dx
  __asm mov value,al
  return value;
}
0

wycinek z example userport


void outportb(UINT portid, BYTE value)
{
__asm mov edx,portid
__asm mov al,value
__asm out dx,al
}

BYTE inportb(UINT portid)
{
unsigned char value;

asm mov edx,portid
asm in al,dx
__asm mov value,al
return value;
}



Wiem zauważyłem to wczoraj i dziś zamierzam coś napisać.
Dzięki za to :) 

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0