Hallo zusammen, Ich nehm aktuell den Baustein MCP794xx in betrieb. Die RTC beschreiben, so wie lesen funktioniert einwandfrei. Der MCP794xx hat eine EUI-48 Adresse in seinem EEPROM. Diese versuche ich aktuell herauszulesen. Dies klappt aber nicht wie es sollte. Im Datenblatt S.11 wird auch angegeben dass die I2C Adresse eine andere ist statt 0xDE/F ist es für das EEPROM 0xAE/F. Für das erstellen des Codes wurde sich auf die S.40 bezogen. Da wird angegeben, dass für die Sequenzielle ansteuerung statt dem "Stop" ein ACK gesendet werden soll. Der MCP794xx gibt mit dem unteren Code für jede Stelle 255 heraus also 0xFF. Der I2C funktioniert, da die RTC ohne Probleme funktioniert. Hat jemand sich mit der MCP794xx Familie bereits auseinandergesetzt, bezw. hat erfahrungen mit der EUI Adresse? Sieht jemdand den Fehler im Code? Danke im Voraus
1 | I2C_Start(); |
2 | I2C_Write(0xAE);//Adresse Slave Write |
3 | I2C_Write(0xF0); //Register 0xF2 beginn EUI-64 |
4 | |
5 | I2C_Start(); |
6 | I2C_Write(0xAF); //Adresse Slave Lesen |
7 | |
8 | F2 = I2C_Read();//0xF2.... |
9 | I2C_Ack(); |
10 | F3 = I2C1_Read(); |
11 | I2C_Ack(); |
12 | F4 = I2C1_Read(); |
13 | I2C_Ack(); |
14 | F5 = I2C1_Read(); |
15 | I2C_Ack(); |
16 | F6 = I2C1_Read(); |
17 | I2C_Ack(); |
18 | F7 = I2C1_Read();//...0xF7 |
19 | I2C_Ack(); |
20 | I2C_Stop(); |