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ęBASCOM - i2cwbyte ACK (??)
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Witam,
w "bacom college" przy opisie magistrali i2c podana była informacja,
że polecenie i2cwbyte ma parametr ack/nack , natomiast bascom
pokazuje błąd (w helpie i2cwbyte nie mam parametru ack/nack).
Próbuję komunikować się z głowicą TV/FM, w dokumentacji której
napisali że sterowanie mam mieć taki przebieg:
start - adr - ACK - dane - ACK - dane - ACK - .......... - stop.
Czy któś może mi powiedzieć jak mam zaprogramować taką komunikację w BASCOMIE i co zrobić z tym ACK ??
Pozdrawiam,
LK.
w "bacom college" przy opisie magistrali i2c podana była informacja,
że polecenie i2cwbyte ma parametr ack/nack , natomiast bascom
pokazuje błąd (w helpie i2cwbyte nie mam parametru ack/nack).
Próbuję komunikować się z głowicą TV/FM, w dokumentacji której
napisali że sterowanie mam mieć taki przebieg:
start - adr - ACK - dane - ACK - dane - ACK - .......... - stop.
Czy któś może mi powiedzieć jak mam zaprogramować taką komunikację w BASCOMIE i co zrobić z tym ACK ??
Pozdrawiam,
LK.
jasne, tylko głowica mnie "olewa" - nie reaguje i nie wiem dlaczego, a nigdzie nie mogę znaleźć "gotowca" w bascomie. Może potrzebuje jednak tego ACK w trakcie zapisu. Zastanawiam się czy to co było w Bascom College, to tylko efekt błędu "kopiuj&wklej", czy też w jakiejś starszej wersji bascoma było Ack i zostało usuniętę.
Głowica to FM1246, a opis był w EP1/2000, niestety nie było źródeł programu sterującego. Próbuję sam coś stworzyć i niestetu nie bardzo mi się to udaje.
Głowica to FM1246, a opis był w EP1/2000, niestety nie było źródeł programu sterującego. Próbuję sam coś stworzyć i niestetu nie bardzo mi się to udaje.
ACk to potwierdzenie odebrania bajtu. Jest stosowane przy odbiorze danych na przykład z pamięci. Procesor potwierdza odebranie bajtu wtedy pamięć przechodzi do transmisji następnego bajtu z komórki o adresie o jeden wyższego. Jeśli ack sie nie pojawia to pamięć oczekuje na zakończenie transmisji przez uP. Przy zapisie do pamięci ACK nie jest potrzebny.
Zamiast I2CWrite zastosuj I2CSEND to bardziej zautomatyzowane polecenie. Moze zadzaiła.
Zamiast I2CWrite zastosuj I2CSEND to bardziej zautomatyzowane polecenie. Moze zadzaiła.
chciałem spróbować i2csend i d...
Przy próbie kompilacji takiego programiku:
Dim Slave As Byte
Dim Ax(10) As Byte
Dim A As Byte
Slave = &HC0
For A = 1 To 10
Ax(A) = A
Next
I2csend Slave , Ax() , 10
END
Kompilator daje błąd:
"Error 231: Index expected [AX()] in file ....., line 10"
Zgłupiałem do reszty, w helpie jest tak samo, a nie działa.
Czy ktoś używa i2csend ???
Przy próbie kompilacji takiego programiku:
Dim Slave As Byte
Dim Ax(10) As Byte
Dim A As Byte
Slave = &HC0
For A = 1 To 10
Ax(A) = A
Next
I2csend Slave , Ax() , 10
END
Kompilator daje błąd:
"Error 231: Index expected [AX()] in file ....., line 10"
Zgłupiałem do reszty, w helpie jest tak samo, a nie działa.
Czy ktoś używa i2csend ???
Musisz coś mieć źle ustawione, albo za starą wersję Bascoma, bo u mnie kompiluje się bez problemu.
Jak coś, to napisz prog i prześlij na aeaiaei@wp.pl, a ja Ci skompiluję i odeślę hex'a.
Jak coś, to napisz prog i prześlij na aeaiaei@wp.pl, a ja Ci skompiluję i odeślę hex'a.
Re: BASCOM - i2cwbyte ACK (??)
Witam...Witam,
w "bacom college" przy opisie magistrali i2c podana była informacja,
że polecenie i2cwbyte ma parametr ack/nack , natomiast bascom
pokazuje błąd (w helpie i2cwbyte nie mam parametru ack/nack).
Próbuję komunikować się z głowicą TV/FM, w dokumentacji której
napisali że sterowanie mam mieć taki przebieg:
start - adr - ACK - dane - ACK - dane - ACK - .......... - stop.
Czy któś może mi powiedzieć jak mam zaprogramować taką komunikację w BASCOMIE i co zrobić z tym ACK ??
Pozdrawiam,
LK.
Trochę może późno podejmuję dyskusję ale pojawił mi się dosłownie identyczny problem z kostką przedwzmacniacza audio . W dokumencji jest zwrot ,który na polski przetłumaczyłem sobie,że to kostka ma dać odpowiedź (ACKnowledge) na wysłaną daną.
A więc kod programu powinien wyglądać chyba tak :
I2cstart
I2cwbyte jakiś_adres
I2crbyte zmienna , ACK
I2cwbyte wysyłana_dana
I2crbyte zmienna , ACK
i2cstop
Na razie nie mam jescze możliwości przetestować tego w praktyce.
Ciekawi mnie jak rozwiązałeś (zwaracam się do LK) ten problem.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 58 gości