Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Epp citanje podataka sa paralelnog porta

[es] :: C/C++ programiranje :: Epp citanje podataka sa paralelnog porta

[ Pregleda: 3013 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

myrmidon
B.Robert
Tungusia

Član broj: 10428
Poruke: 55
*.63.eunet.yu.



Profil

icon Epp citanje podataka sa paralelnog porta16.12.2004. u 21:30 - pre 205 meseci
Imam problem prilikom citanja podataka na paralelnom portu u EPP modu. U BIOS-u sam podesio epp mod ali nikako ne mogu procitati nista na D0-D7.

Da li treba nesto u XP-u ili Linux-u jos dodatno podesiti (kako)?

Saljem deo jednostavnog koda(linux) koji ispisuje nesto na Data port zatim pokusava da cita sa porta, ali bezuspesno. POMOC!

#include <stdio.h>
#include <unistd.h>
#include <sys/io.h>

#define BASEPORT 0x378 /*lpt0*/

int main()
{


/* otvaranje porta */
if (ioperm(BASEPORT,3,1))
{
perror("ioperm");
exit(1);
}





outb(32,BASEPORT);

printf(" Written 32 ....\n");
usleep(50000);

printf(" Read : %d\n",inb(BASEPORT+4));

/*Zatvaranje porta*/
if (ioperm(BASEPORT,3,0))
{
perror("ioperm");
exit(1);
}


exit(0);

}
Myrmidon
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
195.178.35.*

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Epp citanje podataka sa paralelnog porta17.12.2004. u 08:36 - pre 205 meseci
Predpostavljam da ovaj kod pokusavas da pokrenes kao root, jer kao obican korisnik neces moci da pozivas ioperm.

Drugo sto ne koristis /dev/lp0 i ako ti trebaju neka dodatna podesavanja koristis ioctl

Trece ako bash moras da koristis ioperm, potrudi se onda u kernelu da ti parport ikompajliran kao modul, i potrudi se da ne bude ucitan, tj da skine lock sa porta kojem zelis da pristupas.


 
Odgovor na temu

myrmidon
B.Robert
Tungusia

Član broj: 10428
Poruke: 55
*.ptt.yu.



Profil

icon Re: Epp citanje podataka sa paralelnog porta17.12.2004. u 14:20 - pre 205 meseci
uopste nemam problema sa ioperm-om ili sa outp funkcijama.

Sve to skljaka kako treba.

Problem je u citanju podataka sa data portova (baseport+4).

Hvala na odgovoru ali bilo bi dobro da kazes neke konkretne korake za nesto sta preporucujes.


Myrmidon
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Epp citanje podataka sa paralelnog porta17.12.2004. u 20:29 - pre 205 meseci
Pa konkretan odgovor ti nazalost ne mogu dati jer nikada nisam radio sa paralelnim portom. Ali moj je savet da se ne spustas na nivo ioperm i da koristis inb i outb. vec koristi ioctl sistemski poziv da konfigurises paralelni port, a svo citanje i pisanje da radis preko fajla /dev/lp0 (tacnije da budem jos precizniji preko major 6 minor 0) za lpt 1:

spisak svih ioctlova ces videti sa man 2 ioctl_list, a header fajl je /usr/include/linux/lp.h
 
Odgovor na temu

Odin D.
Mlađi referent za automatizaciju
samoupravljanja

Član broj: 37292
Poruke: 2549



+8369 Profil

icon Re: Epp citanje podataka sa paralelnog porta19.12.2004. u 00:05 - pre 205 meseci
#include <unistd.h>
#include <sys/io.h>

Nisam bas siguran u ovo sto cu napisati, a ni u te biblioteke koje koristis, jer nisam sa njima radio, ali kad sam ja nekad davno hteo da pristupim portovima, a radio u Windowsu XP, saznao sam da on iz bezbedonosnih razloga ne dozvoljava pristup portovima kao sto je to bio slucaj kod raniji verzija Windowsa, vec to mora da ide preko drajvera ili tako nesto. U tu svrhu sam sa interneta skinuo neke dll biblioteke (cini mi se nesto kao ioport32.dll ili nesto slicno tome), ali to mi nije proradilo.
Znaci, ili nadji neki vec gotov drajver za tu svrhu, ili moras sam da ga napises.
Ima i jedna knjiga (hardversko elektronicarskog tipa) koja se zove PC INTERFEJSI, a koju je napisao Vojo Milovanovic (bilo je nedavno da se kupi u Radio Klubu, Timocka 18, www.radioklub.co.yu), u kojoj je opisano kako se prave interfejsi za paralelni, serijski, usb, game port itd. Uz nju dolazi i neki CD na kom su potrebne biblioteke za pristup tim portovima, navodno radi na svim verzijama Windowsa, ukljucujuci i XP (u knjizi se radi na C-u, Visual Basic-u, Turbo Pascal-u, QBasicu i Delphi-u)
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1941
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+479 Profil

icon Re: Epp citanje podataka sa paralelnog porta06.04.2005. u 14:25 - pre 201 meseci
Izvinite sto vadim temu, ali mozda nekom zatreba:

Greska je u tome sto ti nije otvoren port za citanje (nisi ga otvorio sa ioperm())

Definicija:

Code:
ioperm(from, num, turn_on)


Gde je

from Pocetna adresa porta
num Broj portova koji da se otvore (otvorice se svi portovi u opsegu from + num)
turn_on 1 za otvoriti, 0 za zatvoriti

Ti sa inb(BASEPORT+4) pokusavas da otvoris port 0x37C (0x378 + 0x4), a ti si sa

ioperm(BASEPORT, 3, 1) otvorio portove samo od 0x378 do 0x37A

znaci moras pozvati ioperm(BASEPORT, 5 , 1) da ne bi dobijao gresku

"Segmentation Fault" koja oznacava da nisi otvorio port kome zelis da pristupis.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Epp citanje podataka sa paralelnog porta

[ Pregleda: 3013 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.