Я пытаюсь подключить Arduino Uno к PIC18F4620 с использованием протокола I2C,Подключение Arduino Uno к PIC18F4620 с использованием I2C
я написал этот код для Arduino
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
}
void loop()
{
Wire.beginTransmission(0xA0);
Wire.write(2);
Wire.write('I');
Wire.write('2');
Wire.write('C');
Wire.write('\n');
Wire.endTransmission();
Serial.println("Send to I2C Slave 0xA0");
delay(1000);
}
и этот код для PIC18F4620 с использованием CCS Компилятор:
#include <slave.h>
#use rs232(stream=string,baud=9600, xmit=PIN_C6, rcv=PIN_C7,parity = N, bits = 8)
#define P_SDA PIN_C4
#define P_SCL PIN_C3
#use i2c(slave, sda=P_SDA, scl=P_SCL,address=0xA0)
void main()
{
char data;
char buffer_I2C[10];
int i=0;
printf("SLAVE\r\n");
while(TRUE)
{
if(i2c_poll())
{
data = i2c_read();
printf("%d \r\n" ,data);
if(data != -96)
{
if(data == '\n')
{
if(buffer_I2C[0] == 2)
{
buffer_I2C[i]='\0';
printf("Message - %s\r\n",buffer_I2C);
}
}
else
{
buffer_I2C[i]=data;
i++;
}
}
else
{
i=0;
}
}
}
}
проблема заключается в том, что ПИК не реагирует на Arduino, я имею в виду, когда Arduino отправить данные в ПИК, ПИК не получает вещь,
В чем проблема с этим кодом?
Заранее благодарен.