Skocz do zawartości
bartmarian

Wysoki Stan Na Pin 2-9 Portu Lpt

Rekomendowane odpowiedzi

ja uzywam czegos takiego:

#include <stdio.h>#include <stdlib.h>#include "parapin.h"int main (int *argc, char *argv[]) {		int nums[33];		pin_init_user(LPT1);		pin_output_mode(LP_PIN01 | LP_PIN02 | LP_PIN03 | LP_PIN04 | LP_PIN05 | LP_PIN06 | LP_PIN07 | LP_PIN08 | LP_PIN09 | LP_PIN10 | LP_PIN11 | LP_PIN12 | LP_PIN13 | LP_PIN14 | LP_PIN15 | LP_PIN16);		nums[1]=LP_PIN01;		nums[2]=LP_PIN02;		nums[3]=LP_PIN03;		nums[4]=LP_PIN04;		nums[5]=LP_PIN05;		nums[6]=LP_PIN06;		nums[7]=LP_PIN07;		nums[8]=LP_PIN08;		nums[9]=LP_PIN09;		nums[10]=LP_PIN10;		nums[11]=LP_PIN11;		nums[12]=LP_PIN12;		nums[13]=LP_PIN13;		nums[14]=LP_PIN14;		nums[15]=LP_PIN15;		nums[16]=LP_PIN16;		nums[17]=LP_PIN17;		int n=atoi(argv[1]);		int s=atoi(argv[2]);		if (s == 0) {			clear_pin(nums[0]);		} else {			set_pin(nums[0]);		}}
ściągnij do tego lib parapin i rozpakuj w katalogu w którym jest powyzszy plik. Później kompilujesz:

g++ -DPARAPIN_LINUX -O2 -g -Wall -I. -L. main.cpp -o parapin -lparapin
i powinno działać ;) jak chcesz, to daj maila to Ci wyśle gotowe

 

ps. uruchamia sie tak: ./parapin numer_pinu stan

gdzie stan to jest 0 albo 1 :)

pozdr.

Edytowane przez DiJo

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

przy kompilacji dostałem:

 

main.cpp: In function `int main(int*, char**)':main.cpp:26: warning: unused variable `int n'

ale binarka jest; przejmować się ? :) jeszcze nie sprawdzałem czy działa, można jakoś podglądać stan portu tą binarką ?

 

PS wielkie dzięki i tak !!!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam,

w jaki sposób z shell wystawić wysoki stan na porcie LPT na którejś z końcówek 2-9 ?

 

Pozdrawiam

Marcin

aaa to dla Ciebie budowalem ten sterownik do lpt ?:D

Dołączona grafikaDołączona grafika

Edytowane przez Linoge

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

przy kompilacji dostałem:

 

main.cpp: In function `int main(int*, char**)':main.cpp:26: warning: unused variable `int n'

ale binarka jest; przejmować się ? :) jeszcze nie sprawdzałem czy działa, można jakoś podglądać stan portu tą binarką ?

 

PS wielkie dzięki i tak !!!

Nie przejmuj sie ;) Warning oznacza to że zmienna n nie została użyta ;) Olej ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

u mnie nie było tego błędu =] a kod ma wygladać tak:

#include <stdio.h>#include <stdlib.h>#include "parapin.h"int main (int *argc, char *argv[]) {		int nums[33];		pin_init_user(LPT1);		pin_output_mode(LP_PIN01 | LP_PIN02 | LP_PIN03 | LP_PIN04 | LP_PIN05 | LP_PIN06 | LP_PIN07 | LP_PIN08 | LP_PIN09 | LP_PIN10 | LP_PIN11 | LP_PIN12 | LP_PIN13 | LP_PIN14 | LP_PIN15 | LP_PIN16);		nums[1]=LP_PIN01;		nums[2]=LP_PIN02;		nums[3]=LP_PIN03;		nums[4]=LP_PIN04;		nums[5]=LP_PIN05;		nums[6]=LP_PIN06;		nums[7]=LP_PIN07;		nums[8]=LP_PIN08;		nums[9]=LP_PIN09;		nums[10]=LP_PIN10;		nums[11]=LP_PIN11;		nums[12]=LP_PIN12;		nums[13]=LP_PIN13;		nums[14]=LP_PIN14;		nums[15]=LP_PIN15;		nums[16]=LP_PIN16;		nums[17]=LP_PIN17;		int n=atoi(argv[1]);		int s=atoi(argv[2]);		if (s == 0) {			clear_pin(nums[n]);		} else {			set_pin(nums[n]);		}}

tzn w tym co Ci wysłałem, to jest w pliku main.cpp (zamień w ostatnich linijkach nums[0] na nums[n]) bo inaczej nie bedzie działac :P co do sprawdzenia czy juz jest oki, to mozesz wpiąć diode do portu i sprawdzać kazdy pin osobno

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

tzn w tym co Ci wysłałem, to jest w pliku main.cpp (zamień w ostatnich linijkach nums[0] na nums[n]) bo inaczej nie bedzie działac :P co do sprawdzenia czy juz jest oki, to mozesz wpiąć diode do portu i sprawdzać kazdy pin osobno

sterownik posiada taka opcje ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

poczytaj dokumentacje do lib parapin :wink: coś w stylu read_state, get_pin albo podbne i na końcu funkcji main dopisz:

printf("%d", pin_is_set());
albo jakoś tak (zależnie co w dokumentacji znajdziesz ;) ) aaa i chyba mozesz odczytać stany pinów wejścia, chyba nie odczytasz tego co sam ustawileś na wyjściu Edytowane przez DiJo

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...