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
Tags:
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.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por