v cecku ovladanie portu lpt
Moderátori: psichac, Moderátori
v cecku ovladanie portu lpt
zdravim vas,uz som zufaly a nemozem spavat,chcem ovladat paralelny port a nedari sa mi,som spravil program v borlande c++ a pocas programu nic nevykonava ziadne zmeny iba ak ukoncim program:( poradte mi lebo zosaliem cely tyzden od rana do rana som len pri programoch a vyhladavani zdrojovych kodov
------------------------------------------------------------------------------------
V tomto programe mi nezhasne ledky pocas spustenia a ani nerozsvieti prvu ledku po 2 sekundach.ked ukoncim program tak zrazu vykona rozsvietenie prvej ledky ,je to divne a nvm co stym
chcem aby mi to fungovalo pocas behu programu...
#include<stdio.h>
#include<conio.h>
#include<dos.h>
main()
{
outportb(0x3BC,0x00);
sleep(2);
outportb(0x3BC,0x01);
sleep(2);
return 0;
}
----------------------------------------------------------------------------------
program v dev c++ : spusti mi program ale nevypne ledky a ani po 2 sekundach co malo vypat ledky nerozsvieti prvu ledku co stym?:(
#include <cstdlib>
#include <iostream>
#include <dos.h>
#include <conio.h>
using namespace std;
unsigned char inportb(unsigned int port) {
unsigned char ret;
asm volatile("inb %%dx,%%al":"=a" (ret):"d"(port));
return ret;
}
inline void outportb(unsigned int port, unsigned char value) {
asm volatile("outb %%al,%%dx": :"d"(port),"a" (value));
}
int main(int argc, char *argv[])
{
system("PAUSE");
outportb(0x3BC,0x00);
delay(2000);
outportb(0x3BC,0x01);
delay(2000);
return EXIT_SUCCESS;
}
------------------------------------------------------------------------------------
Staci poradit vcom je chyba alebo ak tu niekto ma zdrojak ktory je funkcny na borland, dev c++ ,moze byt aj na visual basic tak keby mi poslal na mail qwaderbn@azet.sk
Vopred moc dakujem ,s pozdravom cico.
------------------------------------------------------------------------------------
V tomto programe mi nezhasne ledky pocas spustenia a ani nerozsvieti prvu ledku po 2 sekundach.ked ukoncim program tak zrazu vykona rozsvietenie prvej ledky ,je to divne a nvm co stym
chcem aby mi to fungovalo pocas behu programu...
#include<stdio.h>
#include<conio.h>
#include<dos.h>
main()
{
outportb(0x3BC,0x00);
sleep(2);
outportb(0x3BC,0x01);
sleep(2);
return 0;
}
----------------------------------------------------------------------------------
program v dev c++ : spusti mi program ale nevypne ledky a ani po 2 sekundach co malo vypat ledky nerozsvieti prvu ledku co stym?:(
#include <cstdlib>
#include <iostream>
#include <dos.h>
#include <conio.h>
using namespace std;
unsigned char inportb(unsigned int port) {
unsigned char ret;
asm volatile("inb %%dx,%%al":"=a" (ret):"d"(port));
return ret;
}
inline void outportb(unsigned int port, unsigned char value) {
asm volatile("outb %%al,%%dx": :"d"(port),"a" (value));
}
int main(int argc, char *argv[])
{
system("PAUSE");
outportb(0x3BC,0x00);
delay(2000);
outportb(0x3BC,0x01);
delay(2000);
return EXIT_SUCCESS;
}
------------------------------------------------------------------------------------
Staci poradit vcom je chyba alebo ak tu niekto ma zdrojak ktory je funkcny na borland, dev c++ ,moze byt aj na visual basic tak keby mi poslal na mail qwaderbn@azet.sk
Vopred moc dakujem ,s pozdravom cico.
0
-
- Pokročilý člen
- Príspevky: 752
- Dátum registrácie: 24 Jún 2010, 00:00
- Bydlisko: Trnava
- Vek: 68
Zabudol si najdôležitejšiu vec: pod akým operačným systémom robíš !
(predpokladám že WINDOWS XP nie DOS.)
Už od doby Windows2000 je bežnému smrtelníkovy zakázaný priamy prístup na porty. Dá sa pristupovať cez kernel drivery. To znamená, že ak máš v programe in/out inštrukciu (a tvoj program nemá privilegované práva), OS generuje prerušenie a nevykoná ju.
Jediná šanca je teda ísť cez kernel driver. Pre Borland napr. dlportio.dll.
Určite je viacej možností.
(predpokladám že WINDOWS XP nie DOS.)
Už od doby Windows2000 je bežnému smrtelníkovy zakázaný priamy prístup na porty. Dá sa pristupovať cez kernel drivery. To znamená, že ak máš v programe in/out inštrukciu (a tvoj program nemá privilegované práva), OS generuje prerušenie a nevykoná ju.
Jediná šanca je teda ísť cez kernel driver. Pre Borland napr. dlportio.dll.
Určite je viacej možností.
0
S.K.
zdravim ,pozeral som na nete ako povolit paralelny port ale nic moc,som podla jedneho fora behol do systemu do karty hardware tam otvoril spravce zariadeni a tam lpt port a dal nastaveni portu,ponastavoval som po kazde nieco ine aj tak bez vysledkov(po kazde som restartoval pc) ,,, potom som sa docital ze biose mozem zmenit tak som sa rozhodol ist do toho biosu a na zaciatku co bol obrazok pri spusteni tak bolo napisane DEL= start bios ,tak som dal del a bios sa mi nepustil aj po viacerych pokusoch,,, potom som skusal ak si mi ty poradil ,stiahol som dlportio.dll a vlozil do zlozky system32 lenze tam uz ten subor bol tak som ho hodil medzi moj program do zlozky a aj tak nic , ako mam povolit ten port nvm ach jaj
0
Re: v cecku ovladanie portu lpt
mohli by ste mi poradit, co robim zle.
ak to dam kompilovat do dev c++ tak to skompiluje ale ked to spusti tam mi vypise tu hlasku
LPT.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
"neodosielat"
ak to dam kompilovat do dev c++ tak to skompiluje ale ked to spusti tam mi vypise tu hlasku
LPT.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
"neodosielat"
0
-
- Pokročilý člen
- Príspevky: 752
- Dátum registrácie: 24 Jún 2010, 00:00
- Bydlisko: Trnava
- Vek: 68
Re: v cecku ovladanie portu lpt
Skús použiť DLPortIO. Stiahni si potrebné súbory .dll, .sys. .lib. Prime ovládanie z C++ nejde, musíš ísť cez dll.
0
S.K.
Re: v cecku ovladanie portu lpt
A čo keby si skúsil spustiť ten program, kde použiješ priamo output/input, cez program DosBox. Zdá sa mi že tak to funguje.
0
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 0 Odpovedí
- 1237 Zobrazení
-
Posledný príspevok od používateľa MrWifiHifi
-
- 6 Odpovedí
- 2929 Zobrazení
-
Posledný príspevok od používateľa Atlan