Téma: [vyřešeno] funkce sprintf >> lcd_echo
Zdravím,
nedaří se mi vypsat na LCD SDS Macro znaky, zadávané pomocí fce sprintf do pole text.
Protože se výpis neprovede ani po inicializaci programu, vypadá to na špatné pochopení fce z mé strany (i když vše ostatní - teploty, poruchy, žádost o reset, odřádkování - se na LCD zobrazuje řádně).
Z hlediska procedury vypis_lcd (viz níže) je tedy zobrazeno vše, až na ty text [0/5].
Zajímavé však je, že při testech v SDS-C Debbugeru je na záložce LCD (MACRO) vše vypisováno v pořádku (a to i při změně konkrétního stavu - (de)aktivaci konkrétního okruhu).
vypis_lcd
{
if (_text==1) { lcd_clear(0); _text=0; };
lcd_echo(1,100,1, 'Tep_Cerp ');
lcd_echo(11,100,1, 'Solar ');
lcd_echo(1,200,0, ' Sani: ', _temp_vzduch_in);
lcd_echo(11,200,0, 'Kolektor: ', _temp_kolektor);
lcd_echo(1,300,0, 'Vyfuk: ', _temp_vzduch_out);
lcd_echo(16,300,0, 'TUV: ', _temp_tuv);
lcd_echo(1,400,0, ' Stav:', text[5]);
lcd_echo(11,400,0, 'Cerpadlo:', text[0]);
//Nove nastaveni intervalu pro vypis na LCD
ram[20]+5;
}
-------
init
{
...
sprintf(text[0],'VYP'); //Pocatecni hlaseni o stavu cerpadla solarniho okruhu
sprintf(text[5],'ANO'); //Pocatecni hlaseni o stavu tepelneho cerpadla
...
}
main
{
...
vypis_lcd();
...
}