Olá galera

Estou desenvolvendo um projeto de comunicação entre arduinos por i2c

Porém o intuito deste projeto é não chamar a biblioteca wire.h nas linhas da ide do arduino.

A principio achei que, apenas copiando as linhas de código wire.ccp e wire.h o programa compilaria.

Só que não deu certo!

Alguém sabe como fazer isso?

Obrigado

Exibições: 1166

Anexos

Responder esta

Respostas a este tópico

Oi GLS, boa tarde.

Não sou especialista em software, mas pelo que andei lendo e estudando, entendi que as

 bibliotecas para Arduino são feitas em C++. 

Ela é composta basicamente de 3 arquivos. Por exemplo os aquivos da bibloteca wire.h

keywords.txt,   Wire.cpp e Wire.h.

O Arquivo keywords.txt servirá para as palavras da biblioteca mudarem de cor na IDE.

Os arquivos Saida.h e Saida.cpp conterão os códigos da biblioteca. 

Desta forma não basta simplesmente copiar os arquivo para dentro do seu código.

Para atingir o objetivo deste projeto, deve conhecer bem o protocolo de comunicação I2C,

e escrever uma rotina comumente chamada de "bit banging".

Se não tiver domínio do protocolo I2C, recomendo ler a documentação sobre o mesmo, escrita pelo seu criador a NXP (Philips).  

                          http://www.nxp.com/documents/user_manual/UM10204.pdfI2C usando o AVR

Aqui você encontrará um code bit banging I2C, escrito em AVR code.

                                 http://codinglab.blogspot.com.br/2008/10/i2c-on-avr-using-bit-bangi...

No ano passado escrevi um bit banging I2C, mas foi para PIC.

Rui

Eu também não especialista em SW, mas creio que dá para adaptar uma rotina de comunicação I2C baseando-se na Biblioteca WIRE. Mas será uma tarefa desafiante. 

Já andei estudando bibliotecas também. O que às vezes aumenta a complexidade de uma biblioteca é que ela serve para vários tipos de Arduino. Desse modo, alguns parâmetros devem ser configurados de acordo com o modelo de Arduino. 

Você terá que transportar para o seu Sketch, todas as variáveis (wire.h) e todas as rotinas (wire.cpp)  da Biblioteca.Usar as outras bibliotecas incluídas e  provavelmente fazer algumas adaptações. 

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

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

Esse deve ser o local da Biblioteca Wire ( no caso do Windows) 

"C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\Wire.cpp"

Eu abro os aquivos com o programa Visual Studio Code. 

https://code.visualstudio.com/docs

RSS

© 2021   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço