Pozdrav. Radim neki projekat sa USB HID komunikacijom sa PC-jem koji ima i tastere za proveru da li je korisnik pritisnuo taster ili nije. Tacnije to je kviz projekat, gde ce imati pet tastera, mikrokontroleru ce PC da posalje poruku da zapocne proveru pritiskanja tastera, zatim ce mikrokontroler da sortira ucesnike na osnovu brzine pritiska tastera, i da vrati tu informaciju kompjuteru (nakon sto kompjuter posalje informaciju mikrokontroleru da zaustavi proces provere pritiskanja tastera).
Za pocetak sam stavio jedan taster, i ostvario komunikaciju uredjaja sa kompjuterom, ali imam problem to sto se provera pritiska prekida svaki put kad nema razmene podataka izmedju kompjutera i mikrokontrolera, tacnije mikrokontroler proverava da li je taster pritisnut samo onda kad mu pristigne neki podatak od kompjutera.
U prilogu saljem zip arhivu mikroc i isis projekta. Zahvaljujem u napred na svakoj vrsti pomoci
PIC 18F2550 USB HID sa tasterima
Moderators: pedja089, stojke369, [eDo], trax
PIC 18F2550 USB HID sa tasterima
- Attachments
-
- USB HID radi kako valja.zip
- (152.62 KiB) Downloaded 464 times
Re: PIC 18F2550 USB HID sa tasterima
Ja bas nemam pojma C i ne volim ga.
Ali iz koga koliko sam video on se ovde zaglavi
while(!HID_Read()); i tu ceka ko budala da dodju podatci.
Ovo while(!HID_Write(&writebuff,64)); ne bi trebalo da je problem. Cekanje na slanje podataka je uglavnom jako kratko. Samo dok OS proveri stanje tog usb porta.
E sad da bi resio "while not hidread" moras poznavati kako mikroc radi.
Treba da nadjes neki flag koji mozes proveriti ima li novih podataka.
Ili da pokusas ovako
if (HID_Write(&writebuff,64)) {
Imam nove podatke radi sta treba sa njima
} else {
Nemam podataka il me ne zanima sto ih nema
};
Ali iz koga koliko sam video on se ovde zaglavi
while(!HID_Read()); i tu ceka ko budala da dodju podatci.
Ovo while(!HID_Write(&writebuff,64)); ne bi trebalo da je problem. Cekanje na slanje podataka je uglavnom jako kratko. Samo dok OS proveri stanje tog usb porta.
E sad da bi resio "while not hidread" moras poznavati kako mikroc radi.
Treba da nadjes neki flag koji mozes proveriti ima li novih podataka.
Ili da pokusas ovako
if (HID_Write(&writebuff,64)) {
Imam nove podatke radi sta treba sa njima
} else {
Nemam podataka il me ne zanima sto ih nema
};
Re: PIC 18F2550 USB HID sa tasterima
Resio sam tako sto sam stavio while(HID_Read()); umesto while(!HID_Read());
radi zadovoljavajuce, napravio sam da sa kompjutera zadam komandu kad da se starta i stopira provera pritiskanja tastera. Prilazem kompletan projekat, za slucaj da nekom zatreba, dodao sam i tastere koji su falili, kao i led diode (nisam stavljao otpornike na njih u semi, ne zamerite )
spisak komandi:
u - ukljuci proveru pritiskanja tastera
i - iskljuci proveru pritiskanja tastera
p1 - ukljuci led kod prvog takmicara (takmicar koji treba da da odgovor)
Kod komande p1, broj se menja, u zavisnosti koji takmicar trenutno daje odgovor na pitanje u kvizu (od 1 do 5)
radi zadovoljavajuce, napravio sam da sa kompjutera zadam komandu kad da se starta i stopira provera pritiskanja tastera. Prilazem kompletan projekat, za slucaj da nekom zatreba, dodao sam i tastere koji su falili, kao i led diode (nisam stavljao otpornike na njih u semi, ne zamerite )
spisak komandi:
u - ukljuci proveru pritiskanja tastera
i - iskljuci proveru pritiskanja tastera
p1 - ukljuci led kod prvog takmicara (takmicar koji treba da da odgovor)
Kod komande p1, broj se menja, u zavisnosti koji takmicar trenutno daje odgovor na pitanje u kvizu (od 1 do 5)
- Attachments
-
- USB HID.zip
- (171.09 KiB) Downloaded 447 times
Re: PIC 18F2550 USB HID sa tasterima
Upravo ga uradih u fizickom obliku. Sistem ga prepozna, instalira ga, ali ne prihvata komandu koja mu se posalje preko USB-a. Imal neko kakvo resenje?
Re: PIC 18F2550 USB HID sa tasterima
Pronadjes gde je problem, resis i to je to
Premalo podataka da bi skontao gde sta kako zasto... Problem moze biti od programa za slanje, do ovog sto si izbacio "!" iz while itd...
Premalo podataka da bi skontao gde sta kako zasto... Problem moze biti od programa za slanje, do ovog sto si izbacio "!" iz while itd...
Re: PIC 18F2550 USB HID sa tasterima
na simulatoru radi, ali u reali nece. Prihvata komande, sto znaci da mu read radi, ali write nece, tj kad treba da vrati informaciju
Re: PIC 18F2550 USB HID sa tasterima
Resio sam, bilo je do prmenljive koju sam pretvarao sa funkciom inttostr pa onda slao kao odgovor, deklarisao sam je kao i promenljive readbuff i writebuff