collapse

* Posts Recentes

Compras Aliexpress por almamater
[Ontem às 23:19]


TEK collection por SerraCabo
[Ontem às 20:37]


The first fully functional non-silicon ARM Processor, PlasticArm por blabla
[22 de Julho de 2021, 09:26]


Pequenos guias com informação sobre programação e eletrónica. por blabla
[20 de Julho de 2021, 09:50]


Procuro esp8266 Nodemcu v3 lua com ch340 por jm_araujo
[19 de Julho de 2021, 13:47]


Dúvida sobre o sensor RCWL-0516 por blabla
[17 de Julho de 2021, 22:39]


localizador carro. por dio123
[17 de Julho de 2021, 21:42]


A new Golden Age for Computer Architecture - David Patterson por blabla
[15 de Julho de 2021, 12:17]


Ajuda em contador de pessoas com IR por blabla
[14 de Julho de 2021, 09:56]


How to learn modern Embedded Systems por blabla
[11 de Julho de 2021, 12:12]

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

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

Offline SerraCabo

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