Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[STM32] - USB Virtual COM

typu123485 24 Kwi 2014 00:57 1641 5
  • #1 24 Kwi 2014 00:57
    typu123485
    Poziom 11  

    Witam serdecznie,
    Jako, że panuje ogólnie uboga wiedza (rzekłbym, że tragiczna -albo ludzie są na tyle chamscy, że nie chcą pokazać co jak działa) na temat programowania STM'a pod kątem transmisji za pomocą interfejsu USB - mam prośbę. Od prawie tygodnia klepie przykłady z ST na wszelkie możliwe sposoby (biblioteka USB FS DRIVE). Zatem tydzień temu, skompilowałem przykład ze wspomnianej biblioteki za pomocą TrueStudio - działa, fajnie. Pokrzepiony sukcesem postanowiłem przejść do CooCox (ponieważ True łagodnie mówiąc mi "nie podchodzi"). No i tragedia... od kilku dni same errory... "pluł się" o __IO uint8_t i o wiele gorsze śmierci. Kompiluje po 2-3h po czym się zawiesza... szkoda naprawdę gadać... Dlatego już prawie doprowadzony do rozpaczy, chciałem zapytać czy ktoś ma samego "gotowca" virtual COM'a ? (najlepiej z możliwością wysyłania danych z urządzenia - ten kto jest mądry zrozumie o co chodzi). Chce po prostu zobaczyć jak wygląda sprawnie działający kod main.c i co trzeba dołączyć, aby to wszystko dobrze funkcjonowało.
    Pozdrawiam.

    P.S.
    Tak, czytałem noty z ST ale im dalej w to wchodze, tym dziksze błędy się pojawiają, a sam kompilator zachowuje się co najmniej dziwnie.

    0 5
  • #3 24 Kwi 2014 08:30
    Marek_Skalski
    Moderator Projektowanie

    https://www.elektroda.pl/rtvforum/viewtopic.php?p=13150618#13150618
    Masz tu wędkę, ale haczyk musisz sam zaczepić ;)

    A następny razem zamiast obrażać Forumowiczów albo kompilator, to użyj wyszukiwarki na Forum albo skopiuj wszystkie pliki projektu do nowego folderu, wstaw odpowiednie inkludy i wskaż linkerowi gdzie są pliki.

    Pozdrawiam,
    Marek

    0
  • #4 24 Kwi 2014 12:21
    typu123485
    Poziom 11  

    Witam ponownie,
    Tak, zapoznawałem się z tymi plikami jednak bez książki za wiele raczej nie zdziałam.
    Jeśli Cię obraziłem - przepraszam, ale wiem jakie tu są realia z tzw. "pomocą". Odsyła się na "pałe" do google lub innych pseudo źródeł gdzie nic wnoszącego nie ma.

    0
  • #5 24 Kwi 2014 19:50
    Marek_Skalski
    Moderator Projektowanie

    Zamiast książek zapoznaj się z 9. rozdziałem specyfikacji USB. Jeżeli to USB 2.0, to pobrać możesz tutaj: http://www.usb.org/developers/docs/usb20_docs/
    Możesz też poszukać opisów dla klasy CDC i wtedy będziesz mógł świadomie kształtować zachowanie urządzenia.
    Reszta to tylko otoczka. Przyznaję, że ktoś w ST trochę to wszystko skomplikował próbując odwzorować całą strukturę w plikach opisowych, ale ogólnie obsługa usb nie jest prosta. Microchip ma nieco lepszą bibliotekę dla swoich produktów, ale nie znalazłem jeszcze czasu aby próbować przepisać obsługę dla ST w ten deseń. Dla AVR'ów też wcale nie jest tak łatwo. Dla 1287 i Xmega napisałem całość w asemblerze, bo to było w dawnych czasach.
    Nie obraziłeś mnie, chodziło tylko o pochopne oskarżenie wszystkich Forumowiczów jakoby byli bezdusznymi typami.
    Powodzenia!

    0
  • Pomocny post
    #6 25 Kwi 2014 21:53
    oloam
    Poziom 20  

    Czy przerabiales przyklady z biblioteki st?
    Ja co prawda nie uruchamialem virtual com ale uzylem wlasnie ten przyklad (przerobilem deskryptory i wywalilem cala obsluge uart) do stworzenia komunikacji generic usb z wlasnymi driverami (winusb) i powiem , ze poszlo chyba od pierwszego kopa.

    Przenioslem przyklad vc (stm32f103ze) do coocox. Nie sprawdzalem komunikacji ale usb jest poprawnie enumerowane, wiec wszystko powinno byc ok.


    Jeszcze jeden dla platformy f30x , z tym ze nie mam jak przetestowac czy wszystko jest ok . Kompiluje sie bez bledow.

    0
    Załączniki: