collapse

* Posts Recentes

DIY - Robot Arm por dropes
[Hoje às 14:55]


Curiosidade Ferro Soldar por dropes
[22 de Novembro de 2022, 12:17]


Fonte de alimentação +/-15V para tensões de entrada <80Vdc por jm_araujo
[14 de Novembro de 2022, 16:25]


ua796 jurássico por SerraCabo
[08 de Novembro de 2022, 23:55]


Resistência interna de transformador por SerraCabo
[08 de Novembro de 2022, 23:42]


Resistência paralela com bateria primária de Lítio. por jm_araujo
[06 de Novembro de 2022, 18:49]


Precisão de condensadores de origem na China por dropes
[05 de Novembro de 2022, 20:44]


Imagine this kind of development tools for your favourite Programming Language. por blabla
[04 de Novembro de 2022, 22:16]


Ajuda Identificar Resistência por SerraCabo
[02 de Novembro de 2022, 22:27]


How an Atomic Clock Really Works, Round 2: Zeeman Alignment por jm_araujo
[01 de Novembro de 2022, 00:02]

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

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

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 1.015
    • 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.015
    • 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.