| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 03.03.12 Prihlásený: 05.10.12 Príspevky: 6 Témy: 2 |
Dobrý den chcel by som sa opytat akym sposobom mozem v c++ zapisovat na dany port logicku nulu a jednotku. pouzivam dev c++ a win xp. ten programcek na lpt efekt s diodami mi ide ale chcel by som skusit nieco podobne sam... za niejaky jednoduchy funkcny priklad by som bol vdacny
ked som skusal toto
Kód: #include <conio.h> #include <stdio.h> #include <string.h> #include <stdlib.h>
int main(int argc, char* argv[]) { short data;
if(argc<2) { printf("Usage\n\n"); printf("partest1.exe ,,\n\n\n"); return 0; }
if(!strcmp(argv[1],"read")) { data = _inp(atoi(argv[2])); printf("Data read from parallel port is "); printf("%d\n\n\n\n",data); }
if(!strcmp(argv[1],"write")) { _outp(atoi(argv[2]),atoi(argv[3])); printf("Data written to parallel port is "); printf("%s\n\n\n\n\n",argv[3]); } return 0; }
tak mi pisal chybu: Kód: `_inp' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.)
chcek by som napriklad diodu na 2 pine rozsvietit a zasa zhasnut. vdaka
|
|
Registrovaný: 11.01.09 Prihlásený: 28.03.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 03.03.2012 18:45 | |
|
Mozem ta len nasmerovat, dat ti nejake hinty, ako na to, lebo LPT nemam k dispozicii. Ale prv vysvetli, ako to myslis, ze ti programcek ide a vzapati tvrdis, ze ti hadze chybu. Tak ako to je?
|
|
Registrovaný: 03.03.12 Prihlásený: 05.10.12 Príspevky: 6 Témy: 2 | Napísal autor témy kustom456: 03.03.2012 18:53 | |
|
to je taky prigram ale ten uz som stiahol z netu, a ten zapina a vypina 2-8 pin a mi blikaju diodky... ale ja by som ich chcel ovladat z c++, presiel som uz toho dost na nete a nic mi zatial vyrazne nepomohlo...
|
|
Registrovaný: 11.01.09 Prihlásený: 28.03.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 03.03.2012 19:07 | |
|
Aha, uz tomu rozumiem. Problem je v tom, ze pokial nepouzivas operacny system DOS alebo win95-win98 ( pripadne za istych okolnosti aj linux ), tak nemozes pristupovat - zapisovat a citat - k jednotlivym portom pocitaca. Potrebujes pouzit nejaky systemovy ovladac, ktory ti umozni pracovat s portami. Existuje ich niekolko free, ktore mozes pouzit, ja som este kedysi davnejsie tusim pouzival UserPort. Treba si nejake vygooglit a precitat navod, ako ich pouzit ( vacsinou staci skopirovat *.sys do zlozky system32, niekedy treba este pouzit obsluzny program na aktivaciu, atd ).
Potom, ak budes moct pristupovat k portom, potrebujes vediet tieto informacie:
1.) cislo LPT portu: spravidla 0x378 alebo 0x3f8 v hexadecimalnom vyjadreni, treba si to pozriet na svojom stroji
2.) pre zapis dat na port treba vediet, ze LPT je 8 bitovy port ( ale tusim, ze samotny port sa este deli na 3 casti, kazda osem bitova, neviem presne ), da sa nan teda zapisat cislo od 0-255 ( 0x0 - 0xFF v hexa ). To znamena mozes zapojit osem diod, kde kazda dioda predstavuje jeden bit:
Kód: D1 D2 D3 D4 D5 D6 D7 D8 /* diody, 0 vypnuta, 1 zapnuta */ 1 0 0 0 0 0 0 0
Staci si iba toto vzniknute binarne cislo previest na desiatkove, pripadne sestnastkove, pripadne ho zapisat priamo takto v dvojkovej sustave ( 0b10000000 ).
// EXAMPLE: http://www.mattjustice.com/parport/par_vc.html
|
|
Registrovaný: 03.03.12 Prihlásený: 05.10.12 Príspevky: 6 Témy: 2 | Napísal autor témy kustom456: 04.03.2012 11:05 | |
|
vdaka, uz som to rozchodil... a funguje to paradne
|
|
Registrovaný: 03.03.12 Prihlásený: 05.10.12 Príspevky: 6 Témy: 2 | Napísal autor témy kustom456: 05.03.2012 18:45 | |
|
a mam este otazku, keby som pouzil funkciu (oup32) ktora mi teraz na lpt port posiela data na tych osem diod ale adresu by som dal namiesto 0x378 co je lpt port ale dal by som adresu rs 232 ktora je 0x378 ci tak daako a dal by som tam zapisat trebars 50 tak by mi to fungovalo tak ze by mi moj mikroprocesor precital a podla programu posunul servo o 50 stupnou?
|
|
Registrovaný: 11.01.09 Prihlásený: 28.03.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 05.03.2012 21:26 | |
|
kustom456 píše: namiesto 0x378 co je lpt port ale dal by som adresu rs 232 ktora je 0x378 ci tak daako
Daj nam blizsi popis, pretoze neviem o aky mikroprocesor sa jedna o aky servomotor sa jedna atd. Idealne aj jednoduchu schemu zapojenia, ktore piny su zapojene. Cez seriovy port sa ale v zasade komunikuje inak, ako cez paralelny.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| LPT port v Operačné systémy Microsoft | 1 | 570 | 19.11.2008 16:02 prandof | | SURNE!!! LPT port v Delphi, Visual Basic | 0 | 1555 | 21.08.2007 23:00 steelbull | | PCI ECP Paraller Port tzv. LPT v Ostatné | 1 | 493 | 15.09.2009 22:26 shiro | | K: USB -> LPT alebo PCI karta s LPT v Kúpim | 1 | 286 | 04.11.2019 21:11 goldrat | | C++ zápis do mysql v Assembler, C, C++, Pascal, Java | 6 | 510 | 08.08.2012 14:39 nBXXL | | C++ kombinatorika/zapis do txt suboru v Assembler, C, C++, Pascal, Java | 2 | 1175 | 13.04.2011 22:46 blabla630 | | Gsync cez USB-C to Display Port kabel ? v Monitory, televízory a projektory | 1 | 336 | 09.10.2021 22:11 maciakba | | ASUS RT-N12D1 - Port Forwarding - nechce mi otvorit port v Sieťové a internetové programy | 0 | 633 | 15.09.2015 15:05 Mandy | | Nejde otvorit port (port fowarding) v Sieťové a internetové programy | 8 | 1736 | 28.10.2013 9:09 159xavier | | Dany vector v Grafické programy | 7 | 539 | 30.10.2008 10:52 dadmtb | | Ako spustiť daný program? v Počítačové hry | 15 | 561 | 23.10.2015 13:43 brmbo | | Potiahne daný zdroj danú zostavu? v PC skrinky a zdroje | 13 | 555 | 01.04.2011 8:35 jtbs | | ako v js zistit ci existuje dany html subor? v JavaScript, VBScript, Ajax | 1 | 454 | 12.09.2011 7:27 coldak | | LPT v Assembler, C, C++, Pascal, Java | 2 | 472 | 28.02.2010 19:42 dr.house11 | | LPT v Externé zariadenia | 1 | 248 | 15.01.2013 12:38 Daevid | | Ako spustiť animáciu až vtedy, keď scrollnem na daný <div>? v JavaScript, VBScript, Ajax | 2 | 586 | 02.12.2016 17:50 Lessik |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|