Ĺadny brzuch
Witam
Zaczynam bawic sie portem lpt pod linuksem. Napisalem kod, ktory teoretycznie po wprowadzeniu w- wysyla 1 na D0 i D1, s- 0 na D0 i D1, pozostalych nie musze objasniac. Chodzi o to, ze po wprowadzeniu "w" nic sie nie dzieje. Wszystko testowalem na diodzie podlaczonej do lpt.
#include <fcntl.h> #include <unistd.h> #include <iostream> #include <cstdio> using namespace std; const int CTL_PORT=0x378+2; const int ON1=0x03; const int ON2=0x01; const int ON3=0x02; int main() { int fd; char klawisz; unsigned char command=ON1; unsigned char command2=ON2; unsigned char command3=ON3; do { klawisz=getchar(); if(klawisz==119) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command, 1);// w } if(klawisz==115) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command, 0);// s } if(klawisz==97) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command2, 1);// a } if(klawisz==100) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command3, 1);// d } } while (1==1); return 0; }
Moze ktos bawil sie portem lpt wiec wykryje blad w kodzie. Z gory dzieki za pomoc.
Witam!
A mam pytanie, wiesz jak można odczytywać stany na pinach LPT ? Jak to się robi ?
Pozdrawiam
Tak, mozesz odczytac np. w delphi uzywajac biblioteki Zlportio. Jest to bardzo prosta biblioteka z czytelna dokumentacja takze napewno sie polapiesz. Pisanie pod lpt z poziomu windowsa przy uzyciu tej wlasnie biblioteki jest bardzo proste, wrecz intuicyjne. Jezeli bedziesz mial jakies problemy z odczytaniem napisz mi na pw to podam Ci strony opisujace jak to sie robi. Pozdrawiam
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Zaczynam bawic sie portem lpt pod linuksem. Napisalem kod, ktory teoretycznie po wprowadzeniu w- wysyla 1 na D0 i D1, s- 0 na D0 i D1, pozostalych nie musze objasniac. Chodzi o to, ze po wprowadzeniu "w" nic sie nie dzieje. Wszystko testowalem na diodzie podlaczonej do lpt.
#include <fcntl.h> #include <unistd.h> #include <iostream> #include <cstdio> using namespace std; const int CTL_PORT=0x378+2; const int ON1=0x03; const int ON2=0x01; const int ON3=0x02; int main() { int fd; char klawisz; unsigned char command=ON1; unsigned char command2=ON2; unsigned char command3=ON3; do { klawisz=getchar(); if(klawisz==119) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command, 1);// w } if(klawisz==115) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command, 0);// s } if(klawisz==97) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command2, 1);// a } if(klawisz==100) { fd=open("dev/port", O_WRONLY, 0); lseek(fd, CTL_PORT, SEEK_SET); write(fd, &command3, 1);// d } } while (1==1); return 0; }
Moze ktos bawil sie portem lpt wiec wykryje blad w kodzie. Z gory dzieki za pomoc.
Witam!
A mam pytanie, wiesz jak można odczytywać stany na pinach LPT ? Jak to się robi ?
Pozdrawiam
Tak, mozesz odczytac np. w delphi uzywajac biblioteki Zlportio. Jest to bardzo prosta biblioteka z czytelna dokumentacja takze napewno sie polapiesz. Pisanie pod lpt z poziomu windowsa przy uzyciu tej wlasnie biblioteki jest bardzo proste, wrecz intuicyjne. Jezeli bedziesz mial jakies problemy z odczytaniem napisz mi na pw to podam Ci strony opisujace jak to sie robi. Pozdrawiam