Tags:
Boa noite LFL,
porque não usa o Arduino Mega?
Tem a memoria bem maior.
RV
Verdade, o Mega é bem melhor
Bom dia LFL,
O Mega tem 4 Seriais.
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX);
Serial 3: 15 (RX) and 14 (TX). Used
RV
Obrigado pelas dicas parceiro! Deus te abençoe!
Outra, vc pode otimizar o código.
Qual memoria está no limite ? Normalmente é a RAM.
Ela acaba rápido principalmente se vc desperdiça.
Exemplo de desperdicio é usar uma posição de memória RAM para uma constante... Nos exemplos oficiais do Arduino fazem direto.
Algo como:
int ledpin = 11; // Que gasta 2 bytes de RAM
Pode ser
#const ledpin 11 //Que dá o mesmo resultado e gasta 0 bytes de RAM.
Ref:
https://www.arduino.cc/en/tutorial/sketch
ref:
https://forum.arduino.cc/index.php?topic=158628.0
Quando vc define uma variável de 16 bits para armazenar um dado de 8.
Ex:
int tecla; // gasta 2 bytes
um
char tecla; // gasta 2 bytes e te atende perfeitamente.
Acredito que isso aconteça em função da origem dos programadores que trabalham no projeto Arduino. Normalmente programadores de microcontrolador eram oriundos da eletrônica. Esses, acho, vem da computação. Na computação não existe a preocupação de economia de memória nesse nível simplesmente pq os equipamentos tem mais a disposição.
Obs: Digo isso baseado em meus conhecimentos genéricos sobre compiladores e microcontroladores. Pode ainda ser que haja uma etapa no compilador que verifica se há mudança em variáveis e caso negativo entende que pode ser considerada uma constante. Possível é, mas preventivamente para projetos profissionais e/ou maiores é importante otimizar o código já quando se escreve.
Opa, corrigindo
char tecla; // gasta 1 byte e te atende perfeitamente.
Gosto tb do pouco divulgado
byte tecla
byte é o mesmo que unsigned char mas pra mim mais claro e curto.
Ref:
Eduardo obrigado pelas dicas. Outra coisa, eu estou montando um webserver, o codigo que tenho nao sei como otimizar, pois, sao codigos HTML. Teria algum jeito de me ajudar?
Teoricamente um codigo HTML gasta memoria de programa. Essa em geral vc tem de sobra.
Se vc definiu as varáveis que tratam caracteres como char já é um bom inicio. Definir int para trabalhar com char é bem "TI".
Digo, em "TI", com aspas pq não gosto do termo, entendo que "Tecnologia da Informação" seria um ótimo nome para um curso moderninho de jornalismo. Computação ou até Informática estavam ótimos, não precisavam criar um terceiro nome.
Enfim, em "TI" a menor quantidade de informação que o processador trabalha é mesmo o int (16 bits). Mesmo que vc queria buscar um byte na memória 2 são buscados internamente, pq o barramento de dados é de 16 bits. Para um PC pouco importa, mas para um microcontrolador de 8 bits faz diferença (busca 2 bytes e só usa 1) se vc quer otimizar.
Entendi Eduardo. Muito obrigado. Qualquer duvida entro em contato. abraco.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por