Para quem utiliza o Dev-C++ para acesso a Porta Paralela, existem duas possibilidades:
- Usar a inpout.dll
- Usar rotinas ASM para realizar o acesso.
Neste último caso, ressalta-se as diferenças entre o asm dos compiladores Borland e do compilador utilizado no ambiente em questão. A partir de informações coletadas na www, foi testada e disponibilizada a biblioteca abaixo que permite o uso das funções outportb e inportb. No WinXP é necessário que esteja sendo usado o USERPORT para desta forma liberar a LPT aos aplicativos.
Segue o código das rotinas em ASM para uso no Dev-C++ e controle da LPT.
// ------- inportb para dev c++ ---------------------------
unsigned char inportb(unsigned int port) {
unsigned char ret;
asm volatile("inb %%dx,%%al":"=a" (ret):"d"(port));
return ret;
}
// -------- outportb para dev c++ ----------------------------
inline void outportb(unsigned int port, unsigned char value) {
asm volatile("outb %%al,%%dx": :"d"(port),"a" (value));
}
Nenhum comentário:
Postar um comentário