Zapis promenne do LCD

Zdravim, potreboval bych radu. Mam napsanou funkcni knihovnu pro LCD displej.
Výpis znaku na LCD mam pres tyto dve funkce:

[code]void posli_znak(unsigned char znak)
{
PORTB=znak;
PORTC|=1<<E|1<<RS;
_delay_ms(1);
PORTC&=~(1<<E);
PORTC&=~(1<<RS);
_delay_ms(1);
};

void posli_retezec(unsigned char* text)
{
unsigned char i;
unsigned char velikost = strlen(text);
if (!text) return;
for(i=0; i<velikost; i++)
{
posli_znak(text*);
}
};[/code]

A pak jen volam: posli_retezec(“Text”); Vse funguje jak ma, ale ted jsem narazil na problem. Resim stopky a hodnotu citace, kterou budu chtit zobrazovat na LCD mam v promenne. Jak vypsat promennou na LCD? Zkousel jsem neco jako posli_retezec(promenna); nebo posli_retezec(‘promenna’); ale bez uspechu, to co bylo v promenne to nevypsalo.

Dekuji za rady, Vasek*

to bude tím, že musíš číslo převést na řetězec


void itoa(uint16_t n, int8_t s])
{
    int i, sign;
    if ((sign = n) < 0)  /* record sign */
        n = -n;          /* make n positive */
    i = 0;
    do {       /* generate digits in reverse order */
        s* = n % 10 + '0';   /* get next digit */
    } while ((n /= 10) > 0);     /* delete it */
    if (sign < 0)
        s* = '-';
    s* = '\0';
    reverse(s);
}

pozn. kód převzat od MARD - mcu.cz

nevím v čem programuješ, ale tato fce je běžně knihovní.***

Jak píše Zalda, nicméně není nutné psát vlastní funkci.
avr-libc-user-manual.pdf praví:

do prvniho pole dam promenou do druheho nazev retezce jak se bude promena po prevodu jmenovat a do posledni dam co??? diky, nerozumim tomu

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Radix je (zde) základ číselné soustavy v jaké bude číslo zapsáno do stringu.
Pro dekadickou notaci tam dáš 10, pro binární 2, atd.