Boa noite Pessoal.

Gostaria de pedir uma ajuda para quem conhece bem a comunicação I2C para receber dados.

Se tens material para estudo e possa disponibilizar para eu fazer a leitura.

Estou estudando comunicação I2C, porém encontrei bastante material usando a função Write é muito pouco material que fala sobre leitura.

Grato pela atenção.

L2K.

Exibições: 329

Responder esta

Respostas a este tópico

Boa noite,

poderia ser mais especifico, você quer ler a informação de um sensor I2C por exemplo?

De uma olhada neste link por favor: http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

Meu canal: https://www.youtube.com/channel/UCLZ2cga6-yqz5jtI-XvE7PA?view_as=su...

Abs;

CK

bom dia Leandro.

    Já escrevi algumas BIOS I2C para Layers de Abstração de Hardware em Sistemas embarcados. A I2C só é aconselhável vc usar, se já tiver este layer pronto e consolidado (já testado).

     Há alguns aspectos do I2C que tendem a ser tanto "burocráticos" (pra não falar complexos). Isto porquê embora o Hardware do I2C seja extremamente simples, o mesmo não ocorre com o Protocolo do Bus I2C. Este Protocolo pode ser bastante indigesto, mesmo para os profissionais mais experientes.

     Então como todo mundo usa I2C pra cima e pra baixo, e com a maior facilidade e desenvoltura, sendo tão popular?

     A resposta é que já existe pronto nas plataformas populares (Arduino, Raspberry, etc), o tal Layer de Abstração de Hardware (o "HAL" - Hardware Abstration Layer), e que faz toda a implementação e tratamento do Protocolo do Bus I2C para nós. Isto está implementado justamente nas Bibliotecas dessas plataformas (as "Libs"). Graças a estas Libs, não temos que nos preocupar com os detalhes do Protocolo I2C, pois o "HAL" presente nestas Libs faz todo o trabalho para nós.

     Assim havendo uma Lib para um determinado dispositivo ou componente I2C, bastará usar as funções disponíveis nesta Lib. Felizmente para a maioria dos componentes populares hoje em dia (há uma infinidade deles), alguém já escreveu uma Lib própria para este componente, e em alguns casos há diversas Libs que profissionais ou amadores experts escreveram e disponibilizaram na Internet.

    No entanto se for um componente I2C recém-lançado, talvez não haja ainda uma Lib pronta para o mesmo, então isso será um grande problema no início. Isto porque é preciso conhecimentos mais aprofundados para escrever um "HAL" para um componente I2C, devido ao Protocolo indigesto do Bus I2C que já mencionei.  Mas uma hora ou outra acaba aparecendo uma Lib própria para aquele componente. Até lá, pode ser uma pedreira usar o mesmo, se vc não é expert em I2C.

    Como vc mencionou que tem interesse em aprender sobre o I2C, estou sugerindo um  documento da NXP. A NXP era a antiga "Philips" divisão de semicondutores, e foi ela quem criou o I2C, tanto Hardware quanto o Protocolo. No entanto notará que é um documento totalmente técnico, que exige alguns conhecimentos de Hardware.

     Mas há também na Internet, uma infinidade de sites que "ensinam" sobre o assunto. Um que eu recomendo, e que é excelente, é o da Sparkfun. Segue o Link:

aprendendo sobre I2C - Sparkfun

    E caso queira ver o documento com a especificação oficial do I2C, provido pela NXP, segue o link:

I2C bus specification rev6 - NXP

    Caso o link da NXP esteja "off" em algum momento futuro, estou também anexando ao post o documento PDF com a especificação.

     Fique à vontade para perguntar, caso tenha alguma dúvida que eu possa esclarecer.

     Abrçs,

     Elcids

Anexos

Bom dia , 

Sugestão para estudos :

https://www.arduino.cc/en/Reference/Wire

http://www.arduinobr.com/arduino/i2c-protocolo-de-comunicacao/

Quem será o dispositivo Mestre e quem será o escravo?

O Mestre envia os comandos e o escravo os recebe e responde.

Boa noite pessoal.

Obrigado pelas respostas e pelo material em anexo.

Quanto a pergunta do Sr. José.

Mestre será o Arduíno e para escravos pretendo utilizar o PCF8574.

Atc.

L2K.

Bom dia , 

Super fácil a comunicação Arduino - PCF8574 

http://labdegaragem.com/profiles/blogs/tutorial-sobre-pcf8574-e-com...

https://playground.arduino.cc/Main/PCF8574Class

Ferramenta bem útil para descobrir endereço I2C : I2C scanner 

Procure nesse excelente tutorial sobre I2C :

http://www.gammon.com.au/i2c

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço