Hi team,
Here's an issue from the customer may need your help:
Use the arduino Nano to control the MCF8316A, while the tests failed several times.
#include <Wire.h>
#include <avr/wdt.h>
const uint32_t address = 0x00000478; //12-bit address, should not exceed 4095 (0x0FFF)
const uint32_t command = 0x0000043E; //12-bit address, should not exceed 4095 (0x0FFF)
byte buffer[30];
byte datav[10]={1,2,3,4,5,6,7,8,9,10};
boolean flag=true;
int i;
byte dataOut[4];
int data;
void setup()
{
Wire.begin();
Serial.begin(115200);
Serial.println("I2C OK");
delay(10);
}
void loop()
{
//read
display(0x00000440);//write address
receiveEvent(4);//read the data
delay(2000);
wdt_reset();
}
void display(const uint32_t data) { //write address
byte dataOut[4];
dataOut[3] = (data >> 24) & 0xFF;
dataOut[2] = (data >> 16) & 0xFF;
dataOut[1] = (data >> 8) & 0xFF;
dataOut[0] = data & 0xFF;
Wire.beginTransmission(0x01);
Wire.write(dataOut, 4);
Wire.endTransmission();
Serial.println("display:");
Serial.println(dataOut[0]);
Serial.println(dataOut[1]);
Serial.println(dataOut[2]);
Serial.println(dataOut[3]);
}
void receiveEvent(const uint32_t bytes) {//read data
int data;
while(Wire.available() > 0) {
data += Wire.read();
data = (data << 8);
}
Serial.println("receiveEvent:");
Serial.println(data);
}
Could you help check this case? Thanks.
Best Regards,
Cherry