collapse

* Posts Recentes

Cabo/Tubo? para passar ligação sensores - horta por dropes
[22 de Julho de 2024, 20:55]


Impressora - Valerá a pena? por almamater
[12 de Julho de 2024, 22:53]


Meu novo robô por dropes
[10 de Julho de 2024, 21:59]


Transmissão de energia sem fios por dropes
[30 de Junho de 2024, 20:50]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[18 de Junho de 2024, 18:07]


UPS trovada por KammutierSpule
[11 de Junho de 2024, 18:38]


Odin - A better alternative to C, C++ and maybe Rust. por blabla
[10 de Junho de 2024, 18:59]


MINI560 - corrente sem carga? por KammutierSpule
[14 de Maio de 2024, 15:09]


Arame de Estendal por SerraCabo
[11 de Maio de 2024, 14:15]


LLM Crawlers por TigPT
[04 de Maio de 2024, 21:40]

Autor Tópico: I2C a 400KHz  (Lida 5935 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 1.054
    • Serra Cabo
I2C a 400KHz
« em: 17 de Fevereiro de 2021, 01:49 »
Olá.

Já alguém conseguiu pôr uma linha I2C a trabalhar a 400KHz?

A forma mais simples parece ser invocando, algures

Código: [Seleccione]
Wire.setClock(400000);
mas .. nicles-batatóides.

O controlador é o ATmega 2560 a 16MHz (Arduino Mega).

Abraço
SC

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 1.054
    • Serra Cabo
Re: I2C a 400KHz
« Responder #1 em: 17 de Fevereiro de 2021, 16:32 »
Encontrei a solução.

Durante a inicialização

Código: [Seleccione]
lcd.init();
a biblioteca do LCD faz

Código: [Seleccione]
Wire.begin();
deixando o sistema a 100KHz (provavelmente a velocidade por defeito). Logo após a inicialização, temos que reconfigurar a velocidade

Código: [Seleccione]
Wire.setClock(400000);
O resultado aumenta 4x a frequência do clock mas não tona mais curto o espaço entre pacotes (?). De qualquer forma, a velocidade aumenta para ligeiramente mais que o dobro.