ATNEL tech-forum https://forum.atnel.pl/ |
|
Konwersja danych https://forum.atnel.pl/topic22177.html |
Strona 1 z 1 |
Autor: | Lex_ [ 16 kwi 2019, o 20:06 ] |
Tytuł: | Konwersja danych |
Hej, mam problem, od kilku dni próbuję to rozwiązać ale nie potrafię. Mam komunikację PC -> AVR i AVR->PC. AVR->PC wysyłam temperaturę i działa, PC-> AVR wysyłam wartość PWM i wygląda na to że też działa bo coś w buforze jest tylko nie potrafię odczytać danych. Otrzymuję stringa do bufora cyklicznego a na podstawie funkcji uart_getc() go odczytuje na LCD ale wartości są inne niż oczekiwane. Jak poddać konwersji dane z funkcji uart_getc na przykład na int aby móc to wyświetlić na lcd i użyć do obliczeń ? Funkcja uart_getc() zwraca: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. deklaracje zwracanej wartości: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Dzięki za pomoc. |
Autor: | Lex_ [ 16 kwi 2019, o 21:23 ] |
Tytuł: | Re: Konwersja danych |
Widzę na PC co jest w danej chwili wysyłane do bufora i za chwilę gdy zostanie na wyświetlaczu LCD i mam dwie różne liczby bez wyraźnego związku np PC wysyła 100 a na LCD jest 49, znowu wysyłam 100 a pokazuje 55... Robiłem to np w taki sposób: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Kodu więcej nie chcę udostępniać ponieważ funkcja w całości jest pana Mirka, najważniejsze co zwraca a jest to bajt (prawdopodobnie) znaków - czyli tablica. edit: Dodam tylko że operacje na PC odbieranej temperatury i potem sygnału PWM są wykonywane w Labview. |
Autor: | mirekk36 [ 17 kwi 2019, o 04:58 ] |
Tytuł: | Re: Konwersja danych |
Lex_ napisał(a): Kodu więcej nie chcę udostępniać ponieważ funkcja w całości jest pana Mirka, najważniejsze co zwraca a jest to bajt (prawdopodobnie) znaków - czyli tablica. A po co masz pokazywać funkcje biblioteczne z książki - w nich nie doszukuj się błędu, pokaż lepiej co napisałeś w swoim main.c to wtedy będzie można podpowiedzieć co źle robisz |
Autor: | micky [ 17 kwi 2019, o 05:32 ] |
Tytuł: | Re: Konwersja danych |
Próbujesz wysłać dane binarne czy Ascii? |
Autor: | Lex_ [ 17 kwi 2019, o 10:41 ] |
Tytuł: | Re: Konwersja danych |
Kod podeślę wieczorem bo pracuje do 19. Dane wysyłam jako znaki ASCII. kiedy nie ma nic w buforze widzę na LCD zero - czyli nic nie ma. Natomiast kiedy widzę że jest wysyłana wartość to buforze wartość też się pojawia, ale inna, nie znalazłem związku między nimi. Komunikacja standardowa: 9600, 8bit danych, 1 bit stop. Próbowałem zweryfikować wysyłane dane w ramce ale port jest używany przez program i nie mogę tego zrobić, może wymyślę coś na atmege32 żeby móc obejrzeć surowe dane. |
Autor: | Marhef [ 17 kwi 2019, o 11:39 ] |
Tytuł: | Re: Konwersja danych |
Możesz do sygnału Tx z komputera podłączyć drugi konwerter USB<=>UART i sprawdzić, co wychodzi. Albo analizator stanów logicznych |
Autor: | mirekk36 [ 17 kwi 2019, o 14:27 ] |
Tytuł: | Re: Konwersja danych |
Cytuj: Możesz do sygnału Tx z komputera podłączyć drugi konwerter USB<=>UART i sprawdzić, co wychodzi. To jest najprostsza i najszybsza metoda - nie mówiąc o sprawdzeniu echa - bo jeśli masz np rozjechane transmisje to nie ma co się dziwić |
Autor: | Szofer [ 17 kwi 2019, o 14:45 ] |
Tytuł: | Re: Konwersja danych |
Najprawdopodobniej rozjechana transmisja, |
Autor: | Lex_ [ 17 kwi 2019, o 16:01 ] |
Tytuł: | Re: Konwersja danych |
Co oznacza "rozjechana transmisja" ? Propozycje @Marhef spróbuję sprawdzić. Leci plus. A pod pin RX na zestawie ATB 1.04 nie mogę się wpiąć aby to jakoś sprawdzić? |
Autor: | Szofer [ 17 kwi 2019, o 16:13 ] |
Tytuł: | Re: Konwersja danych |
Rozjechana tzn. Nie ta sama prędkość baudrate, najczestrza przyczyna przy separacji galwanicznej, sam przerabialem, wepnij analizator stanów (jak masz) do Rx na ATB i sprawdzisz doklanie, ja tak debugowałem, działa. |
Autor: | mirekk36 [ 17 kwi 2019, o 17:44 ] |
Tytuł: | Re: Konwersja danych |
Lex_ napisał(a): Co oznacza "rozjechana transmisja" ? Panie, panie a może by tak jednak obejrzeć tę serię poradników ? ... skoro jeszcze z podstawami masz problemy? A te poradniki wyjaśniłyby ci to od A do Z ... a nawet Ziet https://www.youtube.com/watch?v=a0IOBtia8DY https://www.youtube.com/watch?v=eqgrR-XbvIc https://www.youtube.com/watch?v=2LJ7Q6XE8Lk https://www.youtube.com/watch?v=IrtEPz0ftz0 na prawdę - polecam - obejrzyj |
Autor: | Lex_ [ 17 kwi 2019, o 20:13 ] |
Tytuł: | Re: Konwersja danych |
Panie Mirku rozjechany to może być kot żargonowe określenia nie zawsze muszą być oczywiste. Dzięki za filmy, popatrze, pewno się jeszcze coś nauczę. Póki co jest za dużo znaków zapytania, muszę trochę je wyeliminować. Narazie dzięki wszystkim. |
Autor: | Lex_ [ 18 kwi 2019, o 13:17 ] |
Tytuł: | Re: Konwersja danych |
Rozgryzłem temat panowie. Żadne tam rozjechane transmisje, wszystko obiło się o taki kawałek kodu, czyli porządną konwersję: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Może się komuś przyda. Za każdą pomoc w tym poście :p dziękuję. |
Autor: | mirekk36 [ 18 kwi 2019, o 14:33 ] |
Tytuł: | Re: Konwersja danych |
to nie są żadne konwersje - a wyżej kolega micky słusznie pytał cię czy nadajesz ASCII czy BIN . Z tego co piszesz to właśnie nadawałeś BIN a oczekiwałeś ASCII |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |