collapse

* Posts Recentes

Sensor CAN por jm_araujo
[Ontem às 22:12]


The Bar Z Summer Bash 2021 por SerraCabo
[19 de Junho de 2021, 18:06]


Uma visão importante para quem faz software e ou hardware. por blabla
[18 de Junho de 2021, 10:47]


DIY Physical Vapor Deposition (PVD) using Thermal Evaporation por SerraCabo
[15 de Junho de 2021, 12:20]


Traduzir automaticamente o Quake 3 de C para Rust. por blabla
[12 de Junho de 2021, 12:23]


O porquê que os programadores gostam tanto da linguagem de programação Rust. por blabla
[12 de Junho de 2021, 09:56]


Campainha de Telefone Antiga por almamater
[10 de Junho de 2021, 12:29]


localizador carro. por dio123
[10 de Junho de 2021, 09:10]


Compras Aliexpress por jm_araujo
[09 de Junho de 2021, 12:56]


Módulo Shelly 2.5 por zordlyon
[09 de Junho de 2021, 11:20]

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

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

Offline SerraCabo

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