bartmarian Opublikowano 12 Kwietnia 2006 Zgłoś Opublikowano 12 Kwietnia 2006 Witam, w jaki sposób z shell wystawić wysoki stan na porcie LPT na którejś z końcówek 2-9 ? Pozdrawiam Marcin Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DiJo Opublikowano 12 Kwietnia 2006 Zgłoś Opublikowano 12 Kwietnia 2006 cat spreparowany_plik > /dev/lptalbo spróbój z biblioteką parapin. Możesz wtedy ostawić dowolnie stany pinów i je odczytać pozdr. ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 12 Kwietnia 2006 Zgłoś Opublikowano 12 Kwietnia 2006 poszukałem goooogle i znalazłem "tylko" tematy powiązane z C, mogłbym dostać któtki praktyczny przykład wykorzystania parapin ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DiJo Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 (edytowane) 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 -lparapini 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 13 Kwietnia 2006 przez DiJo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 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 !!! Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DiJo Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 (edytowane) daj maila to Ci wyśle spakowaną binarke, źródło i pliki z libparapin, no chyba ze juz jest ok, to nie :) pozdr. Edytowane 13 Kwietnia 2006 przez DiJo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 (edytowane) a jeszcze mam pytanie jak sprawdzić stan portu (pin'a) ? ten co sam skompilowałem gdy użyję np "parapin 2 1" nie pokazuje błędu Edytowane 13 Kwietnia 2006 przez bartmarian Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Linoge Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 (edytowane) 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 Edytowane 13 Kwietnia 2006 przez Linoge Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 Witaj Kurt :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Linoge Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 (edytowane) nie nie,ja jestem niby jego wspólnikiem ;) btw mnie tez czeka dobieranie sie do lpt ;) oraz coma tylko z poziomu windowsa ;) Edytowane 13 Kwietnia 2006 przez Linoge Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Sid Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 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 ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 DiJo dzięki, wg SID nie mam się co przemować - czyli działa, tylko nie wiem jak mam sprawdzić stan na pinach :huh: nic to, będę Was męczył dalej B) Linoqe windows służy mi do grania B) - za wyjątkiem gier nativ i z cedegi :wink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DiJo Opublikowano 13 Kwietnia 2006 Zgłoś Opublikowano 13 Kwietnia 2006 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 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Linoge Opublikowano 14 Kwietnia 2006 Zgłoś Opublikowano 14 Kwietnia 2006 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 osobnosterownik posiada taka opcje ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 14 Kwietnia 2006 Zgłoś Opublikowano 14 Kwietnia 2006 Wszystko ładnie działa, zmiana na "n" załatwiła sprawę. Nadal nie wiem jak odpytać stan, ale mogę się póki co bez tego obejść. Dziękuję za pomoc. Pozdrawiam Marcin Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bartmarian Opublikowano 15 Kwietnia 2006 Zgłoś Opublikowano 15 Kwietnia 2006 A co należało by dopisać do kawałka kodu żeby wypisał mi stan pinów ? :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DiJo Opublikowano 15 Kwietnia 2006 Zgłoś Opublikowano 15 Kwietnia 2006 (edytowane) 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 15 Kwietnia 2006 przez DiJo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...