Od dłuższego czasu nie mogę się uporać z problemem zrywania połączenia USB między mikrokontrolerem, a PC. Podczas pracy, nagle AmaLightUSB przestaje odpowiadać, a zmiany kolorów się zatrzymują. Mikrokontroler wciąż działa, gdyż PWM na zimne katody jest sprzętowy i zawarty w głównej pętli. Nie odbiera natomiast raportów USB. Windows wciąż go wykrywa, jednak przy wysyłaniu raportów, dostaję błąd "error writing data: Communication error with device". Kończą mi się pomysły. Ostatnim zaimplementowanym było kazanie mikrokontrolerowi odliczanie od ostatniego otrzymanego komunikatu przez usb, a w razie ich braku, restart (watchdogiem). Wynik był katastrofalny. Najpierw trudno było się wstrzelić w moment oczekiwania na raport usb (to da się naprawić), a późniejszy efekt padu był doskonale zauważalny. Może posniffuje pakiety i dopatrzę się tam jakichś śmieci wywalających całość?
Czytałem gdzieś artykuł osoby która tworzyła jakiś kontroler i właśnie nie mogli sobie poradzić z przerywaniem transferu przez USB. Podobno 2 miesiące szukali specjalisty od tego. Wielu próbowało nikt nie zrobił. Rozwiązanie okazało się proste... zmienili windowsa na linuksa.
Akira - 15 grudnia 2008 20:28:39
@akira:
To była karta akwizycji sygnałów pomiarowych. 
esio - 15 grudnia 2008 20:42:02
Mało ważne co, ale problem ten sam.
Akira - 15 grudnia 2008 20:42:37
Interesujące. Ale przecież istnieją urządzenia, które nie mają takich problemów pod Win. Może zmienię sposób transferu...
remiq - 15 grudnia 2008 22:35:55
!Ona (0/0)