Za poradą grupowiczów zmontowałem sobie (duże słowo :) wtyczkę do LPT (nie mam cyfrowego oscyloskopu), i za pomocą programu Digitrace zacząłem podglądać co się dzieje na łączu RS485 (dla przypomnienia - próbuję wyczaić, jaka jest prędkość i format transmisji pomiędzy modułami pewnego systemu, opartego na PIC17C42 z zegarem 16Mhz).
No i prawdę mówiąc lekko jestem w polu, bo to co widać, wygląda chyba dziwnie...
Tutaj można zobaczyć jak toto wygląda :
Patrzę na toto i za cholerę nie widze w tym jakiegoś sensownego formatu typu bit startu, bity danych, parzystosc, stop... i w dodatku ten pojedynczy "bit" następujący po całej sekwecji. Kiedy patrzę na to na oscyloskopie to wygląda podobnie (oscyloskop analogowy więc trudno złapać, ale ogólnie to samo - czyli nie jest to raczej błąd "przechwytywania" przez LPT).
USART w PIC17C42 jest do bólu standardowy. Tyle, że parzystość nie jest tam generowana sprzętowo, co każe domniemywać, że pewnie nie jest uzywana, bo musiałaby być obliczana programowo. No ale to mniejsza. Prędkości transmisji też są do obliczenia (Fosc / (64*(n+1)), gdzie n=0 do n=255. Czyli max. 250 kbit dla tego kwarcu (16.000.000 / (64*1)) = 250.000
Może ktoś spojrzy i się wypowie, bo już nie wiem...
No nie chce mi się wierzyć, że program jakoś "ręcznie" manipuluje w transmisji, bo to są dość proste moduły ("centralka" i moduły ściemniaczy do żarówek). Żaden kosmos.
Co myślicie ?