Výstup na paralelený port – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výstup na paralelený port – C / C++ – Fórum – Programujte.comVýstup na paralelený port – C / C++ – Fórum – Programujte.com

 

so-called5
~ Anonymní uživatel
5 příspěvků
21. 8. 2007   #1
-
0
-

Ahojte.prosim vas nevedel by mi niekto poradit ako sa mam v dev c++ dostat na paraleleny port.potreboval by som ako vystupy funkcii vysielat na urcite piny portu stav 1 alebo 0,a nemam absolutne sajnu o tom ako sa to da ak sa to vobec nejako jednoducho do zdrojaku da zapisat.dakujem a este by som poprosil ci by ste mi nemohli povedat kde by som nasiel nejake dobre priklady zdrojakov pre pracu z bitovou mapou ale aby to islo cez dev c++.este raz dik

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
22. 8. 2007   #2
-
0
-

Mozno ti to pojde cez conio.h a funkciu _outp. Neviem vsak ci conio.h je sucastou Dev-C lebo ten je zalozeny na CygWine. Skusit vsak mozes:



#include <conio.h>
#include <stdio.h>

int _outp( unsigned short port, int databyte );

// This program accepts an input from the user
// in decimal and outputs that number as an 8-bit
// binary number to the port at 378 hex, usually
// LPT1

int main () {


int inval = 0;

while ( inval < 256) {

printf("Enter a value in decimal (256 to quit)>");
scanf("%d", &inval);


_outp(0x378, inval);

}

_outp(0x378, 0);

return 0;
}


zdroj:http://www.mattjustice.com/parport/par_vc.html

Nahlásit jako SPAM
IP: ...–
shutdown -h now
so-called5
~ Anonymní uživatel
5 příspěvků
5. 9. 2007   #3
-
0
-

dik za odpoved.ten kod vyzeral slusne ale ked som ho dal skompilovat tak mi vypisalo chybu linkera:
[Linker error]undefined reference to _outp(unsigned short int)
ld return 1 exit status

a chcel by som poznamenat ze som zaciatocnik a ucil som sa len z tychto kurzov tak ak by sa dalo vysvetlit trosku obsirnejsie a prosim ta co znamena ze je zalozeny na CygWine?

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
5. 9. 2007   #4
-
0
-

no to znamena len tolko ze bohuzial moja rada ti je na nic :) kedze pouzivas Dev-C

Nahlásit jako SPAM
IP: 213.151.208.–
shutdown -h now
so-called5
~ Anonymní uživatel
5 příspěvků
6. 9. 2007   #5
-
0
-

no to je dobre a co mam teda pouzivat??co by si odporucil??

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
7. 9. 2007   #6
-
0
-

skus si precitat: http://progres.eternal.cz/article.php?nID=242 len namiesto CreteFile uvedeneho tam pouzi:



HANDLE hFile = ::CreateFile(
"LPT1", // Jméno portu
GENERIC_READ | GENERIC_WRITE, // Čtení i zápis
0, // Žádné sdílení
NULL, // Žádné bezpečnostní info
OPEN_EXISTING, // Otevíráme existující
0, // Žádné atributy souboru
NULL // Musí být NULL
);


alebo sa skus mrknut na tento projekt: http://www.codeproject.com/useritems/PaPiC.asp

Nahlásit jako SPAM
IP: ...–
shutdown -h now
so-called5
~ Anonymní uživatel
5 příspěvků
21. 9. 2007   #7
-
0
-

dik za odkazy.pokukal som a nakkoniec som aj nasiel.tak len keby to ktosi potreboval tu je kod:

najskor ale treba vlozit kniznicu ipout32.dll do windows\system\
najdete ju na http://logix4u.net/inpout32_source_and_bins.zip

#include <stdio.h>
#include <conio.h>
#include <windows.h>


/* Definitions in the build of inpout32.dll are: */
/* short _stdcall Inp32(short PortAddress); */
/* void _stdcall Out32(short PortAddress, short data); */


/* prototype (function typedef) for DLL function Inp32: */

typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);

int main(void){

HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;

short x;
int i;

/* Load the library */
hLib = LoadLibrary("inpout32.dll");

if (hLib == NULL) {
printf("LoadLibrary Failed.\n");
return -1;
}

/* get the address of the function */

inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");

if (inp32 == NULL) {
printf("GetProcAddress for Inp32 Failed.\n");
return -1;
}


oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");

if (oup32 == NULL) {
printf("GetProcAddress for Oup32 Failed.\n");
return -1;
}
/***************************************************************/
/* now test the functions */

/* Try to read 0x378..0x37F, LPT1: */

for (i=0x378; (i<0x380); i++) {

x = (inp32)(i);

printf("port read (%04X)= %04X\n",i,x);getchar();
}

/***** Write the data register */

i=0x378;
x=0x77;

(oup32)(i,x);

printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);getchar();

/***** And read back to verify */
x = (inp32)(i);
printf("port read (%04X)= %04X\n",i,x);getchar();


/***** One more time, different value */

i=0x378;
x=0xAA;

(oup32)(i,x);

printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);getchar();

/***** And read back to verify */
x = (inp32)(i);
printf("port read (%04X)= %04X\n",i,x);getchar();


FreeLibrary(hLib);
return 0;
}

Nahlásit jako SPAM
IP: ...–
Jura
~ Anonymní uživatel
637 příspěvků
21. 9. 2007   #8
-
0
-

Já to teda nestahoval, ale jsou v tom balíčku zdrojáky té knihovny? Pokud ano, tak by možná bylo lepší si k tédll, udělat *.h a *.lib, než to takhle dynamicky načítat, ale to je jen otázka zvyku.

Nahlásit jako SPAM
IP: ...–
so-called5
~ Anonymní uživatel
5 příspěvků
27. 9. 2007   #9
-
0
-

zdrojaky tej kniznice som tam bohuzial nenasiel.skoda bolo by to isto lepsie.

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 46 hostů

Podobná vlákna

COM port — založil Bunny

Serial port — založil omicron

Com Port v Delphi — založil beni017

BlueTooth - COM PORT — založil durmitor

Seriovy port v C — založil jatagan

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý