Ola galera boa noite. Estou com um projeto ai, e ultilizo o Ard Uno. Porém meu código está muito extenso e esta quase chegado no limite que o Uno oferece, sendo que ainda nao o finalizei. Pretendo usar o G101, mas quero saber se ele se encaixa no Ethernet Shield e se dá pra programar pela IDE do Arduino?! Se tem alguma biblioteca pra instalar. Quem puder me ajudar, agradeço. Obrigado.

Exibições: 344

Responder esta

Respostas a este tópico

Boa noite LFL,

porque não usa o Arduino Mega?
Tem a memoria bem maior.

RV

Verdade, o Mega é bem melhor

Tenho que usar as portas Rx e Tx. Como farei a ligação dos componentes sendo que o R e Tx do shield ira conectar em outras portas do Mega?

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:

https://www.arduino.cc/en/Reference/Byte

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.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço