Forum: Mikrocontroller und Digitale Elektronik I2c Slave probleme


von Bennz H. (bennz)


Angehängte Dateien:

Lesenswert?

Ich nutze MPLAB mit CCS Compiler.

Ein PIC 16F886 ist der Master. Funktioniert auch soweit, kann 
Startbefehl, Adresse und ein bit Daten auf den Bus senden. (siehe Foto)

Nur mit dem Slave habe ich probleme

Im ersten schritt will ich nur, das die Daten vom Master zum Slave 
gesendet werden. Aber der Slave gibt keine Rückmeldung, sprich bit9 
bleibt high.
Dabei müsste das doch schon alleine durch das implementieren von "#use 
i2c" funktionieren, oder?

Auszug aus .h :
#use i2c(Slave,slow,sda=PIN_B1,scl=PIN_B4,force_hw,address=0xa0)

Ein auslesen soll über den #INT_SSP interrupt passieren. Aber die wird 
auch erst garnicht eingeleitet.

Kennt sich jemand mit dem Thema aus, und kann mir einen Tip geben woran 
es liegen könnte?

Danke, Bennz

von Achim M. (minifloat)


Lesenswert?

Das komische Makro scheint seinen Dienst doch irgendwie zu verrichten.
Frequenz ist 100kHz, somit sollte die Inkompatibilität eines 
100kHz-Slave zu ≥400kHz ausgeschlossen zu sein.

Falsche Adresse des Slave gewählt?

Ohne jetzt das Diagrammnnäher untersucht zu haben:
Ein Lesevorgang funktioniert übrigens meist so...
# Start
# Slave Adressieren, Schreibzugriff
# Zu lesende Adresse Schreiben
# Repeated Start
# Slave Adressieren, Lesezugriff
# Daten Raustickern soweit wie gewünscht
# Stop

Beherrscht dein Oszi da einfache Protokollanalyse?

mfg mf

PS:
Kannst du das nächste mal ein Hardcopy-Screenshot machen? Ist irgendwie 
schöner. Es gibt da übrigens Floppyport-zu-USB-Adaptierung von ipcas... 
Ansonsten haben die noch nicht ganz so alten DPOs von Tek auch einen 
Webserver integriert, an den man über den LAN-Port an der Rückseite 
kommt, wo man sich einen Screenshot abholen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.