Czy w systemie Windows można napisać prosty program do odczytu wartości binarnej portu USB bez przechodzenia przez sterownik USB?
Czy w systemie Windows można napisać prosty program do odczytu wartości binarnej portu USB bez przechodzenia przez sterownik USB?
Odpowiedzi:
Nie, przynajmniej nie w żadnej zdalnie nowoczesnej wersji systemu Windows.
Bezpośredni dostęp do sprzętu wymaga poziomu uprawnień jądra, którego nie mają zwykłe aplikacje. Pomyśl o tym. Tak musi być, w przeciwnym razie jeden nieuczciwy proces może spowodować wszelkiego rodzaju szkody.
Sterowniki nie tylko zajmują się szczegółami sprzętowymi, ale pełnią również funkcję bramek do tego, jakie operacje mogą wykonywać aplikacje na sprzęcie. W rzeczywistości aplikacje nie wykonują operacji sprzętowych. Wysyłają do sterowników zapytania o wykonanie operacji sprzętowych.
Więc nie, potrzebujesz sterownika, aby uzyskać dostęp do dowolnego sprzętu, w tym USB.
Założono, że to pytanie jest kontynuacją z Jak przejść z baterii na USB w mikrokontrolerze? . Zakłada się również, że Twoim celem jest zbieranie danych za pomocą mikrokontrolera PIC i przesyłanie danych do komputera podstawowego z systemem Windows.
Alternatywą jest użycie konfiguracji portu UART mikrokontrolera PIC w celu szeregowego przesyłania danych. Następnie użyj kabla szeregowego USB opartego na FTDI, takiego jak ten na obrazie, aby przesłać dane.
Dostęp do danych można uzyskać za pomocą szeregowego portu COM na komputerze. Port USB zostanie wymieniony jako standardowy port COM RS232. Pomoże to również stworzyć prosty program w języku C.
To alternatywne rozwiązanie rozwiąże Twoje problemy 3 V i 5 V z drugiego pytania.
Bibliografia: