Mam urządzenie transmisyjne Bluetooth i mój komputer (Windows 7) jest do niego podłączony i skonfigurowany tak, jakby był podłączony przez port szeregowy RS232 (COM4). Jak mogę przechwycić nieprzetworzone dane przesyłane przez urządzenie Bluetooth lub, odpowiednio, nieprzetworzone dane odebrane w COM4?
11
Odpowiedzi:
Możesz użyć standardowego programu terminalowego do przechwytywania danych w różnych formatach. Sugeruję korzystanie z Bray's Terminal , jest to naprawdę łatwe i ma wiele opcji!
A może chcesz przechwycić i zinterpretować dane w jakiejś własnej aplikacji?
źródło
Najlepszym rozwiązaniem, jakie znalazłem, choć nieco prymitywnym, jest Tera Term http://ttssh2.sourceforge.jp/index.html.en .
Bray's nie gra dobrze z Windows 8. Chociaż nie można powiedzieć, co dokładnie robi bez źródła, wydaje się, że przyjmuje pewne założenia dotyczące lokalizacji ustawienia rejestru.
portmon również nie działał dla mnie w systemie Windows 8.
źródło
Moim osobistym ulubionym emulatorem terminali do debugowania jest RealTerm, który ma niezłą gamę opcji wyświetlania dla systemów wbudowanych. Zarówno RS-232, jak i TCP / IP działają dobrze pod Windows 7 x64 i niższymi (nie próbowałem pod Win 8, ale nie mam powodu, aby sądzić, że to nie zadziała). Kilka funkcji, które uważam za szczególnie przydatne, to:
Istnieje również kilka innych opcji dla I2C, SPI, Dallas 1-wire i GPIB. Nie korzystałem osobiście z tych funkcji, ale jest dobre podsumowanie na stronie SourceForge powyżej. Oto zrzut ekranu widoku głównej karty wyświetlania:
źródło
Polecam także bray, jeśli nie jesteś pewien szybkości transmisji otwórz menedżera sprzętu, przejdź do portów COM i wybierz właściwości, jest tam wymieniony, choć nie zawsze dokładny.
źródło
Istnieje portmon : narzędzie sysinternals, które działa jako zakres danych dla portów COM.
źródło
W zależności od dokładnych wymagań pomocne może być użycie mikrokontrolera, który może przechwytywać i oznaczać datą dane, a następnie przesyłać je do komputera. UART-y znalezione w przeszłości na typowych komputerach PC były w stanie rejestrować dokładne informacje o taktowaniu lub przechwytywać dane 9-bitowe, umożliwiając procesorowi przechwytywanie każdego bajtu po jego dostarczeniu, bez buforowania; później systemy operacyjne i sterowniki na ogół nie są do tego przystosowane, a układy UART-USB są pod tym względem beznadziejne. Jeśli twój komputer może odbierać dane z dwukrotnie większą prędkością, możesz mieć mikrokontroler odbierający bajty danych i za każdy bajt wysyłający dwa bajty. Pierwszy bajt miałby ustawiony MSB, raportował MSB (lub dwa MSB, jeśli 9-bitowe) przychodzących danych w kolejnych bitach, i użyj dolnych 5 (lub 4) bitów, aby zgłosić ilość czasu (0-30 lub 0-14) od środka bitu stopu poprzedniego bajtu (mierzonego w jednostkach np. jednego bitu czasu). Drugi bajt wyczyściłby MSB i zawierałby pozostałe 7 bitów danych. Gdy żadne dane nie są przesyłane, znaki stymulacji FF będą wysyłane co 30 (lub 14) bitów. Oprogramowanie odbierające te raporty byłoby zatem w stanie bardzo precyzyjnie (w ciągu jednego bitu) odtworzyć dokładny czas przychodzących danych. Jeśli szybkość przesyłania danych do komputera była czterokrotnie większa niż monitorowana szybkość danych, można by użyć tego ogólnego schematu do multipleksowania dwóch kanałów odbiorczych w jednym porcie PC (użyj kawałka bajtu nagłówka, aby określić, czy zawiera dane dla pierwszego czy drugiego Port). Chociaż mierzenie czasu z dokładnością do jednego bitu może wydawać się nadmierne, są chwile, które mogą być przydatne,
źródło