Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

UART - jak wysłać zmienną?

30 Sty 2020 23:49 165 2
  • Poziom 3  
    Mam problem, który polega na tym, iż nie mogę wyświetlić zmiennej poprzez UART.
    Wstawiam jedynie linie, które pomogą rozwiązać problem.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    wyskakuje błąd:
    Code:
    expected 'const char *' but argument is of type 'short unsigned int'


    Po zmianie kodu na:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    wyskakuje błąd:
    Code:
    incompatible integer to pointer conversion passing 'const char' to parameter of type 'const char *'; take the address with &   


    Po następnej zmianie kodu na
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Błędy znikają, ale jednak uzyskuję w UART kwadrat. Czy ktoś mi wytłumaczy, co robię źle?
  • Poziom 29  
    Z kontekstu wynika, że funkcja uart_puts(x) powinna przyjmować argumenty typu char, czyli znaki. Wysyłając zwykły bajt dostajemy jakiś znaczek rozszerzonego kodu ASCII - czyli zwykle "kwadracik".
    Chcąc dostać liczbę należy wysłać kolejne znaki ASCII reprezentujące cyfry. Czyli przed wysyłką należy zamienić liczbę na tekst. Można to zrobić funkcjami itoa() lub ltoa(). Polecam analizę przykładów.
  • Poziom 3  
    chudybyk napisał:
    Z kontekstu wynika, że ...

    Dzięki za pomoc, uzyłem wspomnianej funkcji i już dane są poprawnie wyświetlane