logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

HID AVR - Jak wymieniać dane z PC i sterować LED?

11111olo 07 Gru 2013 19:35 4326 19
REKLAMA
  • #1 13035470
    11111olo
    Poziom 42  
    Witam

    Opanowałem wszelkie klawiatury, myszki, joysticki itp. na HID.

    Chcę pójść dalej i wymieniać dane z PC.
    Na początek nie musi to być nic spektakularnego. Wystarczy że jak coś na pc zrobię to zaświeci się led lub zgaśnie czy też naciśnięcie przycisku od strony AVR spowoduje "coś" na PC.

    Może jest to gdzieś opisane w postaci tutoriala?
  • REKLAMA
  • #2 13036793
    Szymon Tarnowski
    Poziom 27  
    W książce "USB Complete" Ian Axelson jest to dobrze rozpisane, zarówno od strony procka jak i PC.
  • #3 13037050
    robiw
    Poziom 26  
    To nie rozumiem. Piszesz "Opanowałem wszelkie klawiatury, myszki, joysticki itp. na HID. " a pytasz o podstawy ze strony PC? robiw
  • #4 13037136
    11111olo
    Poziom 42  
    Czego nie rozumiesz?
    AVR to nie PC!
    Na AVR potrafię zrobić klawiatury itd. na HID ale nie potrafię zrobić komunikacji opartej na HID między AVR i PC.

    Nie pytam o podstawy ale o jakieś przykłady. Znalazłem z wykorzystaniem biblioteki libusb ale nie o to mi chodzi.
    Przykład taki jest np. tu.
    Są też inne przykłady.
  • REKLAMA
  • #5 13037320
    YbKYW
    Poziom 11  
    11111olo napisał:
    Czego nie rozumiesz?
    AVR to nie PC!
    Na AVR potrafię zrobić klawiatury itd. na HID ale nie potrafię zrobić komunikacji opartej na HID między AVR i PC.

    Nie pytam o podstawy ale o jakieś przykłady. Znalazłem z wykorzystaniem biblioteki libusb ale nie o to mi chodzi.
    Przykład taki jest np. tu.
    Są też inne przykłady.


    Ale co to znaczy Na AVR potrafię zrobić klawiatury itd. na HID ? Bo później piszesz, że jednak nie potrafisz.
  • #6 13037602
    11111olo
    Poziom 42  
    HID umożliwia komunikację bez dodatkowych sterowników, ale to pewnie wiesz. Klawiatura, mysz, joystick to urządzenia które przesyłają dane tylko w jedną stronę (klawiatura może w dwie) ale to są dla systemu urządzenia o "wiadomych" możliwościach i wykorzystanie ich w inny sposób jest możliwe.

    Opanowałem to dlatego że wymaga to jedynie oprogramowania mikrokontrolera.


    Czy teraz już jest wszystko jasne?

    Jak nie to dodam że HID można wykorzystać do przesyłu własnych danych i do tego dowolnych w obie strony tylko to wymaga napisania softu na PC i tylko dlatego założyłem ten temat aby ktoś mnie nakierował jak do tego podejść, podając jakieś przykłady.
  • #7 13039171
    Konto nie istnieje
    Poziom 1  
  • #8 13039583
    Konto nie istnieje
    Konto nie istnieje  
  • #9 13039861
    Mat_91
    Poziom 25  
    Nie wiem czy pomogę ale jak byś ściągnął sobie bibliotekę USB od microchipa dla dowolnego procka z USB to tam masz przykłady z wykorzystaniem HID. Działa to mniej więcej w ten sposób że microchip udostępnia gotową bibliotekę hidclass.dll na podstawie której piszesz aplikację na PC. Są tam zawarte w sumie 4 funkcje (open, read, write, close). Gotowa aplikacja też jest oraz źródła do niej. Możesz sobie podglądnąć. Kiedyś z tego korzystałem i działało to bardzo przyjemnie:)

    Czy zadziała z AVR musisz sam sprawdzić. Ale przynajmniej masz jakąś bazę :)
  • REKLAMA
  • #10 13040608
    Szymon Tarnowski
    Poziom 27  
    Mat_91 napisał:
    Działa to mniej więcej w ten sposób że microchip udostępnia gotową bibliotekę hidclass.dll na podstawie której piszesz aplikację na PC. Są tam zawarte w sumie 4 funkcje (open, read, write, close). Gotowa aplikacja też jest oraz źródła do niej. Możesz sobie podglądnąć. Kiedyś z tego korzystałem i działało to bardzo przyjemnie:)
    Ale kolega nie chce gotowej dll'ki z resztą mu się nie dziwię, bo jest zbędna. Żeby znaleźć nazwę urządzenia wystarczy wywołać dwie funkcję WinAPI, a później tylko CreateFile, ReadFile i WriteFile.
  • #11 13040632
    11111olo
    Poziom 42  
    Nie wiem jak to da się zrobić. Jak bym chciał użyć gotowej biblioteki to bym potrzebował sterownik, a tego nie chcę.
    Wiem że HID nie jest demonem prędkości ale do prostych rzeczy się nadaje świetnie.
    Sprawdzanie po VID/PID i coś jeszcze jest potrzebne. Założyłem temat bo nie mogę znaleźć przykładu jak to zrobić.

    Proszę do książek mnie nie odsyłać bo jak bym chciał którąś kupić to temat tego wątku by brzmiał zupełnie inaczej.

    Przykład z gotową biblioteką z której nie chcę korzystać.
  • #13 13041608
    11111olo
    Poziom 42  
    Cytat:
    Requirements

    Minimum supported client
    Windows 8.1
  • REKLAMA
  • #14 13041852
    Mat_91
    Poziom 25  
    @11111olo

    Jesteś w błędzie. Użycie gotowej biblioteki nie narzuca Ci konieczności użycia dodatkowych sterowników. Hid to hid. Wkładasz wtyczkę do gniazda, sterownik klasy hid instaluje się sam o czym wiesz. Biblioteka o której mówię umożliwia Ci tylko komunikację z tym urządzeniem. Pobierz sobie przykłady od microchipa to zobaczysz jak to jest tam zrobione.
  • #15 13042531
    slx
    Poziom 19  
    Przecież w BootloadHID masz przykład komunikacji PC <-> AVR z wykorzystaniem HID, bez żadnych dodatkowych sterowników i bibliotek.
  • #16 13042958
    11111olo
    Poziom 42  
    HID AVR - Jak wymieniać dane z PC i sterować LED?

    Cytat:
    Na początek nie musi to być nic spektakularnego. Wystarczy że jak coś na pc zrobię to zaświeci się led lub zgaśnie czy też naciśnięcie przycisku od strony AVR spowoduje "coś" na PC.


    Wiem że jest ten bootloader ale to skok na głęboką wodę.
  • #17 13042999
    Konto nie istnieje
    Poziom 1  
  • #18 13043178
    11111olo
    Poziom 42  
    Mój stopień zaawansowania w języku C określił bym raczej na "dolnej półce".
    C na AVR jest o wiele prostszy niż PC i chciałbym zacząć od najprostszych rzeczy.
    Z bootloader to na pewno na tym etapie nie dam rady :(
  • #19 13043800
    Konto nie istnieje
    Poziom 1  
  • #20 13046701
    11111olo
    Poziom 42  
    Zamykam.
REKLAMA