atmega168: PCF8583 am TWI

Persönliche Seite #1537714
Lesenswert?

Erstmal wünsch ich euch allen ein gutes 2010 und danke an dieser Stelle 
den vielen aktiven Forenteilnehmern, welche sich unermüdlich durch 
Skizzen und Source Codes wühlen und Rat geben. Vielen Dank euch allen! 
:)

Ich habe eben eine kleine Schaltung zusammengesteckt, aber leider tut's 
noch nicht (siehe Skizze). In Abweichung zur Skizze hab ich keinen 
Trimm-Kondi eingebaut. Die LED blinkt im Sekundentakt vor sich hin, das 
hört auf, wenn ich den Crystal rausnehme...

Die TWI Funktionen hab ich aus der Codesammlung (Manfred Langemann); die 
UART Funktionen sind die von Peter Dannegger (angereichert um 
uputs0_pgm). UART läuft, ich seh den Prozi starten:
1
Init...
2
TWI error: start failed!
3
TWI error: start failed!

Ich bleib also schon in Zeile 62 "hängen", beim Aufruf von TWIM_Start(). 
Hab allerdings keine Ahnung weshalb. Oszi hab ich keines, wie könnte ich 
sonst noch debuggen?
Angehängte Dateien:
Persönliche Seite #1537748
Lesenswert?

Ich hab mir angesehen, wie TWIM_Start() arbeitet. Da taucht dieses 
Fragment auf:
1
/*
2
** Send device address
3
*/
4
TWDR = (Address<<1) + TWIM_Type;

So wird das nix mit meinem Aufruf: Die Device-Adresse des RTC ist gemäss 
Datenblatt 0xa0 für Schreiben, 0xa1 für Lesen. Das R/W Bit wird über 
TWIM_READ bzw. TWIM_WRITE (zugewiesen an TWIM_Type) in die Adresse 
eingebaut.

Ich habe jetzt
1
#define SlaveAddress (0xA0>>1)
und meine SlaveRead und SlaveWrite defines gelöscht. Damit komme ich 
jetzt  mit der TWIM_Start() erfolgreich durch. Jetzt bleib ich beim 
ersten TWIM_Write() Aufruf hängen.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren