logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak wyświetlić zmienną poprzez UART? Nie wiem, co robię źle.

lewara 30 Sty 2020 23:49 429 2
REKLAMA
  • #1 18438933
    lewara
    Poziom 5  
    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 / C++
    Zaloguj się, aby zobaczyć kod


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


    Po zmianie kodu na:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    wyskakuje błąd:
    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 / C++
    Zaloguj się, aby zobaczyć kod


    Błędy znikają, ale jednak uzyskuję w UART kwadrat. Czy ktoś mi wytłumaczy, co robię źle?
  • REKLAMA
  • #2 18439086
    chudybyk
    Poziom 31  
    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.
  • #3 18439362
    lewara
    Poziom 5  
    chudybyk napisał:
    Z kontekstu wynika, że ...

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