Einen schönen guten Morgen wünsche ich euch allen!
Ich habe wieder ein Problem mit meinem I2C Bus. Unter folgendem Link
findet ihr Oszi Bilder die das Problem beschreiben. Es geht darum das
ich ein Zeichen per I2C in ein EEPROM schreibe und wieder lese.
allerdings kommt nicht das raus was ich reinschreibe.
http://www.blackpuma.org/i2c/
Daten:
uC: PIC18F2410
Compiler: C18
EEPROM: 24AA256
Programmteil vom lesen:
1 | test = EERandomRead( 0xA0, eeprom_address.byte[0], eeprom_address.byte[1] );
|
2 | if( test == -1 )
|
3 | {
|
4 | putrsUSART( "Colission\n\r" );
|
5 | }
|
6 | if( test == -3 )
|
7 | {
|
8 | putrsUSART( "Write Collission\n\r" );
|
9 | }
|
10 | if( test == -2 )
|
11 | {
|
12 | putrsUSART( "Not Ack Data\n\r" );
|
13 | }
|
Programmteil vom Schreiben:
1 | wert = 0b01010101;
|
2 | test = EEByteWrite( 0xA0, eeprom_address.byte[0], eeprom_address.byte[1], wert );
|
3 | if( test == -1 )
|
4 | {
|
5 | putrsUSART( "Colission\n\r" );
|
6 | }
|
7 | if( test == -3 )
|
8 | {
|
9 | putrsUSART( "Write Collission\n\r" );
|
10 | }
|
11 | if( test == -2 )
|
12 | {
|
13 | putrsUSART( "Not Ack\n\r" );
|
14 | }
|
Ich bekomme keinen von den Errors die ich abfange. Not Ack, Write
Collission oder Collision.
Vielleicht könnt ihr mir sagen was dabei nicht passt.
Danke schon mal für eure hilfe.
Lg
Andreas