lcd i2c e rtc ds3231 - Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)2024-03-29T09:41:54Zhttps://labdegaragem.com/forum/topics/lcd-i2c-e-rtc-ds3231?commentId=6223006%3AComment%3A674693&xg_source=activity&feed=yes&xn_auth=noConsegui. Eu coloquei vários…tag:labdegaragem.com,2018-06-15:6223006:Comment:6749482018-06-15T03:58:31.919ZMarcos Vinicius Goes Ferreirahttps://labdegaragem.com/profile/MarcosViniciusGoesFerreira
<p>Consegui. Eu coloquei vários if e aparentemente deu certo. Obrigado pela ajuda</p>
<p>Consegui. Eu coloquei vários if e aparentemente deu certo. Obrigado pela ajuda</p> Isso é chatinho mesmo de faze…tag:labdegaragem.com,2018-06-14:6223006:Comment:6746932018-06-14T02:07:42.102ZEduardohttps://labdegaragem.com/profile/EduardoHenriqueMarcondes
<p>Isso é chatinho mesmo de fazer.</p>
<p>Acontece que se o numero for 1 ele escreve "1"... Não escreve "01".</p>
<p>Tem que dar uma rebolada pra resolver. Se vc simplesmente formatar para 2 casas ele escreve " 1" e não "01".</p>
<p>Quando usava 8051 simplesmente fazia minha propria rotina de apresentação de byte em 2 caracteres, coisa como:</p>
<p>wrlcd(0x40+((dado/10)%10)); // escreve no lcd o caracter ascii (0x40 ("0") somado com o resto da divisão de (dado/10) por 10) que é a…</p>
<p>Isso é chatinho mesmo de fazer.</p>
<p>Acontece que se o numero for 1 ele escreve "1"... Não escreve "01".</p>
<p>Tem que dar uma rebolada pra resolver. Se vc simplesmente formatar para 2 casas ele escreve " 1" e não "01".</p>
<p>Quando usava 8051 simplesmente fazia minha propria rotina de apresentação de byte em 2 caracteres, coisa como:</p>
<p>wrlcd(0x40+((dado/10)%10)); // escreve no lcd o caracter ascii (0x40 ("0") somado com o resto da divisão de (dado/10) por 10) que é a dezena.</p>
<p>wrlcd(0x40+(dado%10)); // agora para dado, a unidade.</p>
<p>Parece e é bobo, mas isso executa muuuuuito mais rápido e é muito mais limpo para o processador que as chamadas padrão feitas para as bibliotecas. Para o 8051 inclusive apenas uma divisão era feita. A divisão de inteiro já gerava em um registrador o resultado e em outro o resto. O compilador tinha a inteligencia de reservar esse valor para ser reutilizado logo depois.</p>
<p>Olhando pelos exemplos na internet existem muitas outras sugestões.</p>
<p>Uma que já vi é somar 100 e mandar escrever formatado para 2 casas. Aih o que seria 02 vira 102 e imprimindo vc consegue o "02". Prefiro a minha gambiarra...</p>
<p></p>