Witam,
Chciałbym uzyskać coś podobnego:
#define LCD(x) LCDstr_P("x");
Jednak żeby x było zmienną np:
w programie wpisuje:
LCD(47)
i chciałbym żeby mi to zamieniał na:
LCDstr_P("47")
Jak to wykonać??
Gdyż litery z tablicy zmiennej mozna łatwo wyświetlać natomiast zawartość zmiennych typu liczbowych już sie nie da dalczego?
Proszę o odpowiedź
Pozdrawiam
10/05 Kurs C makra
Procedury wyświetlania danych operują na znakach i te są bez problemów wyświetlane na wyświetlaczach. Ty chcesz wyświetlić liczba, więc należy dokonać konwersji liczba z postaci binarnej (tak jak jest trzymana w pamięci) do postaci znakowej. Jeżeli do wyprowadzenia liczba z programu używasz przykładowo funkcji printf, to taką operację wykonuje ta funkcja, jeżeli prosz to na piechotę, to również sam musisz zadbać o taką konwersję.
Powinno zadziałać:
Przedstawiony kod zadziała w ten sposób, że cokolwiek umieścimy w nawiasie zostanie wzięte w znaki cudzysłowia. Oznacza to, że zapis jak niżej:
Spowoduje wypisanie na wyświetlaczu:
a
a nie wartości zmiennej (10).
Prosty sposób wyświetlania wartości zmiennej pojawi się w części 6 (EdW12/05)
gaweł
Nie strasz ludzi
Pozdrawiam
Kod: Zaznacz cały
#define LCD(x) LCDstr_P(#x)Kod: Zaznacz cały
uint8_t a = 10;
LCD(a);
a
a nie wartości zmiennej (10).
Prosty sposób wyświetlania wartości zmiennej pojawi się w części 6 (EdW12/05)
gaweł
Pozdrawiam
To całe szczęscie, do grudnia nie daleko wiec poczekamKoppel pisze:Prosty sposób wyświetlania wartości zmiennej pojawi się w części 6 (EdW12/05)
Pozdrawiam
PS: mam nadzieje że pomimo wielkiej chęci autora kursu do wprowadzenia nowej płytki, jeszcze to poczeka i autor wykorzysta możliwości bascomowej płytki:)
Pozdrawiam