ATNEL tech-forum https://forum.atnel.pl/ |
|
MK_MULTI_UART - odbieranie binarne z 9-bitami https://forum.atnel.pl/topic23018.html |
Strona 1 z 1 |
Autor: | Nef.ID [ 13 kwi 2020, o 20:13 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Chyba coś odkryłem w bibliotece: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Linia dataH =(UCSR1B & (1<<RXB81)) > 0; Co to jest? To chyba nie może działać. ------------------------ [ Dodano po: 2 minutach ] To chyba tak ma być, bo w sumie w dataH jest jeden bit, 0 lub 1. |
Autor: | mirekk36 [ 13 kwi 2020, o 21:33 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Ma tak być jak jest w bibliotece wszystko i nie zmieniaj bo wtedy narobisz sobie takiego bigosu - że ja na pewno nie pomogę bo jak? Biblioteka DOSKONALE działa dla ramek 9-bitowych no ale trzeba takie mieć i nie spodziewaj się że to odbierzesz albo zobaczysz poprawnie w terminalu bo jak ? Na PC nie ma obsługi ramek 9-bit - więc coś bardzo mocno przekombinowałeś zrób sobie dwa urządzenia tzn dwa procki i jeden niech do drugiego coś przesyła za pomocą 9-bit i będzie ci to ładnie śmigało. Albo weź sobie jednego procka z dwoma UART'ami np ATmega644P albo ATmega1284P i jednym UARTem gadaj sobie z drugim prockiem po 9-bit a drugim uartem wysyłaj sobie do terminala np wartości HEX odebranych ramek 9-bitowych |
Autor: | Nef.ID [ 14 kwi 2020, o 09:36 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Dziękuję za odpowiedź, 1. oczywiście, że nie odbieram ramek z 9-bit terminalem, bo takiego nie mam i nawet nie mogę znaleźć. 2. mam drugie urządzenie, które wysyła te cholerne ramki, mam analizator Saleae i wszystko mogę podejrzeć. 3. wysyłam ramki 9-bitowe do urządzenia, urządzenie rozumie, przesyła właściwe odpowiedzi (oglądam na analizatorze Saleae). 4. mam u siebie ATmege1284, a nie ATmege1284P, ale to chyba nie stanowi (jeszcze sprawdzę czy mam pod ręką Atmege644P lub ATmege1584P, ale chyba nie). 5. tak jak pisałem, nie umiem odczytać zarówno odpowiedzi z urządzenia jak i jak i odpowiedzi gdy nadaję i odbieram (TXD2 do RXD2 bezpośrednio mostek). 6. gdzie tkwi mój błąd? |
Autor: | mirekk36 [ 14 kwi 2020, o 09:48 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Nef.ID napisał(a): mam u siebie ATmege1284, a nie ATmege1284P to po co ci inny procek - skoro ten też ma dwa UARTy ? Nef.ID napisał(a): 3. wysyłam ramki 9-bitowe do urządzenia, urządzenie rozumie, przesyła właściwe odpowiedzi (oglądam na analizatorze Saleae). zobacz jak nielogicznie piszesz i ciężko cię przez to zrozumieć - bo z tego pkt.3 wynika że niby ci wszystko działa a tutaj: Nef.ID napisał(a): . tak jak pisałem, nie umiem odczytać zarówno odpowiedzi z urządzenia no to o co chodzi ? Po pierwsze jak spojrzałem na kod który pokazałeś to złapałem się troszkę za głowę - no bo jak można sprowadzić testy jednostkowe do czegoś takiego ? Czy nie prościej napisać do TESTÓW najprostszy kod gdzie jeden procek będzie nadawał UWAGA! JEDNĄ i tylko JEDNĄ ramkę 9 bitową - a w drugim procku ją odbierać, czyli jedno słowo 16-bitowe ? No bo to co się dzieje u ciebie w tym parsowaniu .... to ... nie nie - to nie mam na tyle czasu żeby analizować tak dziwne rzeczy - tzn może nie dziwne ale nie mam czasu Zrób prosty kod jak pisałem wyżej, sprawdź Saleae czy ramka ładnie wychodzi na drucie, a w funkcji parsującej odbierz słowo i w zależności od konkretnej wartości zapalaj albo gaś diodę LED, nie potrzebny do takiego testu nawet drugi UART i już można mieć PODSTAWY opanowane w 5 sekund albo zgłosić jakiś konkretny problem na najprostszym kodzie. Wtedy będzie można coś pomóc - ok ? |
Autor: | mirekk36 [ 14 kwi 2020, o 14:37 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
No teraz to można popatrzeć na kod ... tylko na razie nie mam jak sprawdzić/potwierdzić - ale w międzyczasie zapytam bo pokazałeś tam na saleae czasy, zamiast pokazać wynik analizatora rs232 - dobrze zdekodował ramkę? jest poprawnie nadawana ? i nie mówię o dwóch zestawach - nawet na stykówce niech jeden procek nadaje ------------------------ [ Dodano po: kilkunastu sekundach ] a jak będę miał chwilkę to taki kodzik mogę wrzucić na przetestowanie i zobaczymy co i jak |
Autor: | Nef.ID [ 14 kwi 2020, o 15:01 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Dobrze, urządzenie, które nadaje ramki 9-bit i wiem co nadaje, dokładnie obejrzałem analizatorem Saleae. I takie same tj. 9-bitowe nadaję. Zresztą co widać na załączonym obrazku - 1 bit =52 usek, 2 bity 104 usek, 3 bity to 157 usek. |
Autor: | mirekk36 [ 14 kwi 2020, o 15:35 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Nef.ID napisał(a): Zresztą co widać na załączonym obrazku - 1 bit =52 usek, 2 bity 104 usek, 3 bity to 157 usek. Lubisz sobie utrudniać życie - toż masz w programie LOGIC za darmo pełno analizatorów w tym podstawowy do RS232, zobacz - a tu ja nadaję ramkę testową i gdybym zadawał pytanie na forum to bym pokazał taki przebieg z Saleaez włączonym analizatorem zamiast bawić się w czasówki - nie ważne jaka prędkość więc u mnie nadaje sobie ATmega32 tak: nic dodać nic ująć - widać wszystko jak BYK, na dłoni albo jak na patelni ... (i dlatego myśl Pan o takich testach NAJPROSTSZYCH i używaniu analizatorów protokołów) na przyszłość zaraz sprawdzę odbieranie ------------------------ [ Dodano po: 34 minutach ] proszę bardzo - a dla utrudnienia dodałem przesyłanie dwóch ramek jedna po drugiej co ok 500ms, tak wyglądają na analizatorze w saleae no i proszę na dwóch zestawach ATB to śmiga, żeby było ciekawiej to nadawca jest na m32 zaś odbiorca na m1284P ------------------------ [ Dodano po: 37 minutach ] pętla główna nadawcy: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. a u odbiorcy wygląda to tak: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. zaś sama funkcja parsująca "parse9" język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. ------------------------ [ Dodano po: 39 minutach ] więc jak widzisz wszystko śmiga, gra i buczy ... dlatego prosiłem cię zrób najprostsze testy jednostkowe - zrób tak jak ja tutaj ... i sprawdź czy ci to działa - a jeśli nie to znaczy, że gdzieś babola robisz ale gdzie ? tego nie wiem po tym opisie .... przetestuj na dwóch prockach i pokaż swoje rezultaty ------------------------ [ Dodano po: 40 minutach ] aha na zakończenie dodam, że testy prowadziłem na tej bibliotece ze sklepu a nie na jakichś swoich nowszych zmodyfikowanych wersjach tej biblioteki - bo niedługo ukaże się nowa wersja i będzie miała DUŻO lepsze pracy z transmisją binarną. |
Autor: | Nef.ID [ 14 kwi 2020, o 19:53 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
Jeszcze raz napiszę odnośnie powyższego wpisu Mirka o "zmodyfikowanych" wersjach biblioteki przeze mnie: Mam wersję biblioteki v.1.1 I taką informację w consoli: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Natomiast w pliku multi_usart_c mam: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Dlatego też musiałem wprowadzić te zmiany(o których pisałem), żadnych innych, bo a/ nie znam się na tyle, by czegoś nie spieprzyć b/ nie wiem do końca, co autor miał na myśli. Dlatego też podałem to wszystko, by upewnić się co do słuszności, bo widać, że plik nie zna zmiennych dataH i dataL. |
Autor: | mirekk36 [ 14 kwi 2020, o 20:04 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
hmmm podeślij mi na biuro@atnel.pl tę bibliotekę którą otrzymałeś od nas ? bo coś mi tu nie pasuje |
Autor: | Nef.ID [ 14 kwi 2020, o 20:28 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
wysłałem |
Autor: | mirekk36 [ 14 kwi 2020, o 20:44 ] |
Tytuł: | Re: MK_MULTI_UART - odbieranie binarne z 9-bitami |
odpisałem na maila |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |