Essa é minha primeira postagem no fórum do LDG.

Estou realizando alguns testes com Arduino para verificar a possibilidade de aplicações profissionais.

Ao verificar o tempo decorrido para realizar a atualização das 4 linhas de um LCD 20x4 em I2C, verifiquei que é possível obter um ganho de desempenho "turbinando" o clock do I2C pelo método Wire.setClock().

Apesar do chip da placa I2C ser o PCF8574A, no qual o datasheet indica o clock serial em 100 Khz, no meus testes esse chip suportou uma frequência acima de 100 khz (Utilizando o setClock). Não tenho osciloscópio para verificar a frequência real, mas obtive uma redução de tempo de execução do código para atualização das 4 linhas do LCD de 60ms para 21ms aplicando o valor 400000L. Obtive até tempos menores (15ms) utilizando valores acima de 400000L, mas por motivos que desconheço, com o tempo a "varredura" subiu para valores acima de 21ms.

Não estou utilizando outro dispositivo no barramento I2C. Desta forma, pode ser que utilizando mais periféricos o barramento não apresente o funcionamento esperado.

 

Exibições: 313

Responder esta

Respostas a este tópico

Bom dia SG,
muito boa sua dica. assim que puder vou fazer este teste.
Uma dica para você.
Existe no mercado um produto excelente para "substituir" o osciloscópio.

É o analisador lógico

Algumas vantagens:
Custa muito barato;
Tem 8 canais;
Salva a imagem na tela do PC
Fácil de usar;
Alimentação própria pela USB.

Algumas desvantagens:
Só "lê"sinais digitais;
Só para 5V (Nunca testei em 3V, portanto não sei se funciona).

Rui

No ML :
http://produto.mercadolivre.com.br/MLB-751673762-usb-analisador-log...

Na china:
https://pt.aliexpress.com/item/Free-shipping-1PCS-1set-New-Arrival-...

Bom dia Rui!

Valeu pela dica vou adquirir um. Realmente o custo x beneficio é enorme para aplicações em 5vcc.

Valeu!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço