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:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


deklaracje zwracanej wartości:
Składnia: [ Pobierz ] [ Ukryj ]
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:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Składnia: [ Pobierz ] [ Ukryj ]
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ę:
Składnia: [ Pobierz ] [ Ukryj ]
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/