Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 25 sty 2025, o 19:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 
Autor Wiadomość
PostNapisane: 9 maja 2016, o 08:39 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Cześć,
Od dłuższego czasu mam problem z moim joystickiem.
W załącznikach widoczny jest schemat zaprojektowanej przeze mnie płytki.
Obrazek
Dodatkowo z powodu niemożliwości zaprogramowania USB zakupiłem zestaw:
AVT5468 (ATmega32U4-DIPMOD).
Chciałem go zrobić na procesorze ATmega32u4. Chciałem zrobić z tego USB-HID.
Urządzenie po podłączeniu do dowolnego laptopa (z dowolnym systemem WinXp/Win7/Win10/Linux)
jest widoczny jako podłączone urządzenie. Jak widać na załączniku.
Obrazek
Pojawia się jako kontrolerów, ale w sekcji kontrolery jest nie dostępny. Jak widoczne w następnym załączniku.
Obrazek
Zgodnie z artykułem z AVT5468 układ programowałem za pomocą LUFA-120219.
Programowałem w AVR Studio 4.
Program na płytkę wgrywałem za pomocą programu FLIP.
Co zrobić aby urządzenie było widoczne w sekcji kontrolerów? Podejrzewam że gdzieś zrobiłem błąd w pliku descriptors.c ale naprawdę już nie mam pojęcia co mogę zmienić......
Poniżej poszczególne zawartości moich plików.
descriptors.c:
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


discriptors.h:
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


joystick.c:

Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


joystick.h:
Składnia: [ Pobierz ] [ Ukryj ]
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Z góry dziękuję za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2016, o 07:32 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Po pierwsze wstaw kod we właściwy sposób. Po drugie, czemu na D+ i D- masz rezystory 1k? Skąd wykopałeś AVR Studio 4? Proponuję zainstalować AVR Studio 7 i tam poprzez zakładkę "Extensions" doinstalować pakiet LUFA. Coś zmieniałeś w tym projekcie LUFA, który tu zamieściłeś?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2016, o 10:15 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Dziękuję za odpowiedź.
Kod wstawiłem najlepiej jak umiałem :( nie wiem jak wprowadzić go lepiej.....
w fizycznie polutowanym układzie mam dobre wartości rezystorów :)
Poza tym korzystam teraz z płytki dostarczonej mi z AVT.
Jedyne zmiany jakie zrobiłem w LUFA to te z artykułu:
ATmega32U4-DIPMOD AVT5468
Instaluję w avrstudio 7 rozszerzenie LUFY, jednak nie wiem czy tutaj jest problem.....
Bo ja tak jak bym nie miał dostępu do tego joysticka.......ale laptop widzi że coś tam jest.....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2016, o 14:52 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Odnośnie wstawiania kodu zerknij proszę tutaj: http://forum.atnel.pl/topic7402.html

Widzę w tym kodzie dodatkowe zmiany, które wprowadziłeś, nie tylko te wynikające z artykułu. Więc może zacznij od początku i nie dokładaj żadnych zmian od siebie w postaci np. trzeciej osi z.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2016, o 19:05 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Okej. Wykreslilem os Z z kodu i nadal mam ten sam problem :( i wszystko co bylo niezgodne z artykulem problem pozostal :( :( :(
dziekuje za informacje jak wstawiac kod na przyszlosc sie poprawie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 maja 2016, o 19:05 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Okej. Wykreslilem os Z z kodu i nadal mam ten sam problem :( i wszystko co bylo niezgodne z artykulem problem pozostal :( :( :(
dziekuje za informacje jak wstawiac kod na przyszlosc sie poprawie :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 maja 2016, o 20:22 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Dziś miałem chwilkę, aby sprawdzić. W AVR Studio 7.0 wybrałem utworzenie przykładowego projektu. Odszukałem LUFA API CLASS JOYSTICK (Wymaga uprzedniej instalacji pakietu LUFA poprzez Extensions), utworzyłem projekt, zmieniłem procesor na Atmega32u4, wgrałem w Arduino micro i o to rezultat:
Obrazek
Tak więc, nie ma siły, musi działać ;-)


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2016, o 06:32 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Dziekuje bardzo :) To dales mi nadzieje :) nie zmieniales nic w kodzie ? Teraz jestem na wyjezdzie sluzbowym. Jak tylko bede w domu jutro wieczorem odtworze Twoje kroki i mam nadzieje ze rowniez zadziala :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 maja 2016, o 07:24 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Nie, w samym kodzie nie zmieniłem niczego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 maja 2016, o 22:44 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Udało się :) Dziękuję za pomoc :). Teraz pozostaje mi wykombinować dlaczego jak klikam przycisk na płytce to nie widzę tego na ekranie w sekcji kontrolerów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 maja 2016, o 16:29 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Po rozwiązaniu problemu po dużej pomocy ze strony Sparrow-hawk z widzialnością w sekcji kontrolerów. Kończą mi się pomysły dlaczego nie mam żadnej reakcji po kliknięciu na płytce przyciski na ekranie komputera nic się nie pojawia. Ma ktoś może pomysł gdzie mogę mieć problem?
Poniżej wstawiam kod:
destriptors.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


joystick.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


destriptors.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


joystick.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Buttons.h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Mam nadzieję, że teraz wprowadziłem kod poprawnie. Płytka identyczna jak w artykule AVT5468 (ATmega32U4-DIPMOD).
Z góry dziękuję za pomoc,



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 maja 2016, o 19:57 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

W pliku joystick.c są takie funkcje jak: Buttons_Init(); oraz Buttons_GetStatus(); Przyjrzyj się im, zobacz ich implementacje.

PS. Nie musisz w tej chwili wklejać w całości tych plików, jedynie swoje zmiany oraz ewentualnie kontekst tych zmian.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2016, o 17:34 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Przyjrzałem się....wg mnie wyglądają okej-poprawnie..... nie wiem co może być nie tak......



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 maja 2016, o 20:31 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

No jeśli chodzi o składnie, to na pewno jest poprawna. Ale te funkcje są puste. Należy je zdefiniować wg potrzeb.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 maja 2016, o 12:39 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Dziękuje za odpowiedź,
Ale musisz o plikach z Lufy tych oryginalnych czy tych moich....
Po wydaje mi się, że te funkcje nie są puste.... ale może źle patrzę... . Bo myślałem, że ja definiuje w button.h....
Z góry dziękuję za odpowiedź/podpowiedź.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 maja 2016, o 22:00 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Hmm, widzę, że masz te funkcje zdefiniowane. U mnie taka konstrukcja:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dla przycisku podłączonego do pinu PD4, z aktywnym stanem niskimi działa bez zarzutu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 cze 2016, o 10:20 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Dzień dobry,
Dziękuję za pomoc,
Jednak u mnie nie chce to działać choć próbował na wszystkie sposoby.....
Mam przycisk podłączony do pinu PB2 i nie chce działać.
Poniżej wkleję kod z buttom.h może coś przeoczyłem co powinno być......

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Oraz mam jeszcze pytanie dlaczego to PD4 u Pana jest dodatkowo przesuwane?
Z góry dziękuję za pomoc :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 cze 2016, o 07:46 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Przesuwam dla tego, że ten kod: !(PIND & (1 << PD4)) zwraca 1 lub 0 w zależności od stanu przycisku, a funkcja w pętli głównej oczekuje wartości (1 << PD4) lub 0.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 cze 2016, o 10:21 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Aha :) Dziękuję :) A tylko tę jedną linijkę zmieniłeś aby zadziałały tej przycisk?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 cze 2016, o 20:48 
Offline
Użytkownik

Dołączył(a): 25 lip 2015
Posty: 140
Zbananowany użytkownik

Pomógł: 18

Dokładnie, to zmieniłem w pliku Buttons.h te trzy linijki:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 21 cze 2016, o 11:13 
Offline
Nowy

Dołączył(a): 09 maja 2016
Posty: 12
Pomógł: 0

Wow. Działa. Dziękuję bardzo za pomoc,
Przyciski działają aż miło :) Teraz chciałem skorzystać z I2C aby ruszyć MPU. Skorzystałem z biblioteki TWI.c i TWI.h wziętej z LUFY.....
I mam taki problem, że w momencie jakiejkolwiek transmisji po i2c usb przestaje mi działać, rozłącza mi usb......
Nie wiem dlaczego..... Może ktoś ma jakiś pomysł?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Z góry dziękuję za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 21 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO