Keine Kommunikation über I2C zu EEPROM (CCS)
Dienstag, 22. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  CCS Compiler  |  Schnittstellen (CCS)  |  Keine Kommunikation über I2C zu EEPROM (CCS) « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Keine Kommunikation über I2C zu EEPROM (CCS)  (Gelesen 2000 mal)
 
mkkirchner
Newbie
*
Offline Offline

Beiträge: 2


Profil anzeigen
« am: März 26, 2009, 15:43:24 »

Hallo,
Ich habe einen EEPROM (24C04) an den I2C Bus Angeschlossen (PIC C3 -> SCL -> EEPROM PIN 6 und PIC C4 -> SDA -> EEPROM PIN 5).

Ich benutze CCS mit folgendem Code:

16F876.h
Code:
#define baseAddress24AA512 0xA0
#use i2c(Master,Slow,sda=PIN_C4,scl=PIN_C3)

eeprom.c
Code:
void writeByte24AA512(int8 deviceAddress, int16 memAddress, int8 data)
{
   i2c_start();
   i2c_write(baseAddress24AA512 + (deviceAddress<<1));
   i2c_write(memAddress>>8);
   i2c_write(data);
   i2c_stop();
   delay_ms(5);
}


main.c
Code:
eaddr=0;
data=128
writeByte24AA512(0, eaddr, data);


Das Problem ist, dass der Code immer nach
" i2c_write(baseAddress24AA512 + (deviceAddress<<1));"

hängen bleibt!

Vielen Dank für eure Hilfe

martin
Gespeichert
Holzwurm
Gast
« Antworten #1 am: März 28, 2009, 23:21:40 »

Hallo,

hast du auch Pullup Widerstände an der Daten- und Clockleitung? Die interne Pullups des PICs zu verwendet hat mir noch nie geklappt.

Viele Grüße

Holzwurm
Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #2 am: März 30, 2009, 07:13:39 »

Zitat
Die interne Pullups des PICs zu verwendet hat mir noch nie geklappt.
Die internen Pullups sind auch für Sachen wie Schalter, Taster etc. gedacht, wo langsame vorgänge vorhanden sind, oder wo Pins auf einen definierten Pegel gezogen werden sollen.
Für I2C sind sie nicht geeignet, ihr Wert (einige 10kOhm) ist dafür auch viel zu groß. Daher müssen bei I2C immer externe Pullups verwendet werden.

Gruß
Stefan
Gespeichert

Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.035 Sekunden mit 18 Zugriffen.
 
Top! Top!