Zbudowałem małe urządzonko na procesorze AT89C4051 i napisałem oprogramowane w Bascomie. Urządzenie to ma odbierać dane z portu szeregowego i te dane przesyłać po I2C do PCF8574A.
Jeśli przesyłam dane z komputera do urządzenia to wszystko działa prawidłowo.
Problem pojawia się w momencie gdy dane przesyłam z innego podobnego urządzenia też zbudowanego na AT89C4051. Za każdą razą urządzenie obierające (funkcja INPUT) gubi pierwsy bajt.
Nie chodzi mi o to, jak to ominąć tylko dlaczego tak się dzieje??
Problem ten pojawił się też przy układzie TOIM4232. Jest to układ dopasowująy sygnały do ndajni/odbiornik IrDa 4500 itp...
Otórz wspomniany TOIM ma możliwość szeregowego progrmowania prędkości danych, od 1200 do 115200.
Aby zaprogrmować wspomniany układ na prędkość 115200 nalezy wysłć Hex (10).
Jeśli robię to "ręcznie" z komputera to TOIM programuje się prawidłowo.
Jeśli jedna robię to podłączając do TOIM'a AT89C4051 z właściwym algorytmem i wysyłam poprzez polecnie PRINT właściwą wartość, to niestey TOIM "zawiesza się"
Wydaje mi się, że w obu opisywanych przypadkach przyczyna jest taka sama, jaka?? Nie wiem.
Cy ktoś z Was moe spokał się podobnymi problemami jak ja??
Co takiego różni nadawanie z kompa od wysyłania z AT89C4051?
Proszę Was o fachową poradę.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięKłopot z COM, pomocy !!
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Tak, oczywiście zgadza się to co mówisz...O ile dobrze pamiętam, to instrukcja PRINT nie wysyła liczby jako takiej (bajt danych) tylko jej reprezentacje dziesiętną w kodzie ASCII. Do Wysyłania "czystych" danych należy użyć PRINTBIN. Podobnie sprawa ma się z INPUT(INPUTBIN).
Ja własnie odbieram poprzez procesor AT89C4051 polecenia ASCII za pomocą polecenia INPUT
INPUT $zmienna 1 noecho
INPUT $zmienna 2 noecho
INPUT $zmienna 3 noecho
Pierwszą zmienną przyjmuje dobrze, natomiast następne zaczynają się wartością hex(10)
i właściwy string zaczyna się dopiero od pozycji 2 tej zmiennej.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 26 gości