sprintf((char*)time,"%02d:%02d:%02d",hora,min,seg);
LCD_printf(time,LINHA2,CENTRO); // Envio a hora para o LCD
void print_val(double v) /* 0 <= V < 999.9995 */
{
unsigned long ll;
neg = 0;
if (v < 0){
neg = 1;
v *= -1.0;
}
v*=2000;
ll = (long)v;
ll++;
ll>>=1;
st[5] = ll % 10;
ll = ll / 10;
st[4] = ll % 10;
ll = ll / 10;
st[3] = ll % 10;
ll = ll / 10;
st[2] = ll % 10;
ll = ll / 10;
st[1] = ll % 10;
ll = ll / 10;
st[0] = ll % 10;
if (!st[0]) {
if (!st[1])
st[1]=0xF0;
st[0]=0xF0;
}
st[7] = 0;
st[7] = st[5] + '0';
st[6] = st[4] + '0';
st[5] = st[3] + '0';
st[4] = '.';
st[3] = st[2] + '0';
st[2] = st[1] + '0';
st[1] = st[0] + '0';
if (neg == 1)
st[0] = '-';
else
st[0] = ' ';
}
CCandido escreveu:usei sprintf gasta muita memoria, axo que toda vez que chama ele
gera outra rotina, entao evite mas, se for usa chame ele um vez so em uma funçao axo que diminui bastante.
meu_sprintf (......);
void meu_sprintf (......){
(void) sprintf(blablabla ); 1 vez so
}
Voltar para NXP (ex-FreeScale (ex-Motorola))
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante