Hozzászólások
Nagyon szépen köszönöm mindkettőtöknek!
Működik a dolog.
Rigidus még esetleg meg tudnád mondani azt, hogy hogyan tudom kiszámolni, hogy melyik karakterre meylik lábon lesz jel. Gondolom 2-es számrendszer. Csak, hogy hogy jön ki az érték.
- A hozzászóláshoz be kell jelentkezni
[quote:4fcfbb9248="Mercutio"]Nagyon szépen köszönöm mindkettőtöknek!
Működik a dolog.
Rigidus még esetleg meg tudnád mondani azt, hogy hogyan tudom kiszámolni, hogy melyik karakterre meylik lábon lesz jel. Gondolom 2-es számrendszer. Csak, hogy hogy jön ki az érték.
Ha tudod a bitmintát, írd át hexába, aztán "echo -en '\x5a' >/dev/parport0"
Ha pl. változóból jön ki az érték, akkor
[code:1:4fcfbb9248]
for i in $(seq 65 90);
do
echo "Adat: $i";
echo $i | awk '{printf("%c", $1);}' >/dev/parport/0
done
[/code:1:4fcfbb9248]
- A hozzászóláshoz be kell jelentkezni
A Codex-ben ( http://www.codexonline.hu ) van egy kevés RTFM "Vezérlés az LPT porton Alfától Omegáig" címmel.
- A hozzászóláshoz be kell jelentkezni
Köszi a segítséget mindenkinek. Ezek alapján már megoldom.
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
Az lenne a kérdésem, hogy hogyan tudnám megoldani azt, hogy párhuzamos portra direktben írjak egy értéket C-ben Debian alatt. Gondolok itt most egy hasonló technikára mint pl Delphiben a
[code:1:bf58758431]portout($378,255)[/code:1:bf58758431]
utasítás. Egyszerű vezérlés megvalósításához kellene. Eddig amit találtam az a libieee1284 könyvtár. De ehhez nem túl sok dokumentáció áll rendelkezésre.
Segítségeteket előre is köszi!
- A hozzászóláshoz be kell jelentkezni
Hi!
Coffee Howto kell neked.
Amugy ez kell:
[code:1:9c9611a751]
#define BASE 0x378
ioperm(BASE,1,1);
outb(255,BASE);
ioperm(BASE,1,0);
[/code:1:9c9611a751]
Ertelemszeruen az ioperm-re csak a progi legelejen ill. legvegen van szukseg, es rootjog kell neki.
By(t)e
TBS::Antiemes[/code]
- A hozzászóláshoz be kell jelentkezni
Nyisd meg irasra a parhuzamos port /dev konyvtarba levo eszkozfajljat, majd kuldj egy $FF karaktert ra es zard le.
De ha csak ennyi a problema, akkor ezt szkriptbol egyszerubben meg lehet csinalni, raadasul sokkal "UNIXosabb" lesz. Ehhez nem kell C-be kilometereket irni, konzolbol egyetlen sor az egesz.
Csak siman probakeppen ird be ezt egy konzolba ahol van irasjogod a parhuzamos port hasznalatara:
[code:1:58b099d409]echo "A" > /dev/parport0[/code:1:58b099d409]
Ez kikuldi az "A" karaktert a parhuzamos portra.
Ha soros portra akarod ugyanezt, akkor:
[code:1:58b099d409]echo "A" > /dev/ttyS0[/code:1:58b099d409]
Ha infrara:
[code:1:58b099d409]echo "A" > /dev/ircomm0[/code:1:58b099d409]
Ha Bluetooth-ra:
[code:1:58b099d409]echo "A" > /dev/rfcomm0[/code:1:58b099d409]
(de elotte parositani kell az eszkozoket)
Ha az alapertelmezett modemre:
[code:1:58b099d409]echo "A" > /dev/modem[/code:1:58b099d409]
stb.
Ha nem akarod kikuldeni egyik portra se csak siman a kepernyore akkor ertelemszeruen:
[code:1:58b099d409]echo "A"[/code:1:58b099d409]
Ha be akarsz olvasni a portokrol azt is hasonlofelekeppen lehet megcsinalni, csak ahhoz nem az echo parancs kell, hanem az a progi amivel fel akarod dolgozni a bejovo jelet ill. meg kell forditanod a nyilat a masik iranyba:
Itt csak siman ugy irod meg a progit, hogy olvasson be karaktereket a billentyuzetrol egy ciklusba, majd a < jellel atiranyitod a szabvanyos bemenetet a billentyuzetrol a portra.
[code:1:58b099d409]envagyokaprogiakifeldolgozza < /dev/parport0[/code:1:58b099d409]
Es szepen beolvassa a portot.
Ha egy fajl tartalmat akarsz kiirni a portra akkor csak siman:
[code:1:58b099d409]cat fajlneve > /dev/parport0[/code:1:58b099d409]
vagy
[code:1:58b099d409]cat < fajlneve > /dev/parport0[/code:1:58b099d409]
Mindegy, a ketto ekvivalens. :wink:
- A hozzászóláshoz be kell jelentkezni
Sziasztok.
Én Suse-t használok, és nincs /dev/parport0. Ilyenkor mit lehet csinálni?
- A hozzászóláshoz be kell jelentkezni