Forum: Mikrocontroller und Digitale Elektronik TWI und DDRC Probleme ATMega32


von Balou B. (baloubaer)


Lesenswert?

Hallo alle zusammen,

ich stehe mal wieder "wie ein Ochs vor dem Berg" und weiß nicht weiter.

Ich verwende den ATmega32 und die i2c master von Peter Fleury.

Nun möchte ich an den PIN C nicht nur die zwei TWI PINs (PC0 und PC1) 
nutzen, sondern auch die anderen PINs (PC2 bis PC7).

Setze ich nun das DDR wie folgt (Ich verwende jetzt bewust die Binäre 
schreibweise ( 1 Ausgang 0 Eingang )):
1
//     PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
2
DDRC =  1   1   1   1   1   1   0   0

oder
1
//     PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
2
DDRC =  1   1   1   0   1   1   0   0

oder
1
//     PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
2
DDRC =  1   1   0   1   1   1   0   0

Funktioniert der I2C - Bus nicht mehr.

Nach nun mehreren Versuchen stellte ich fest, dass wenn nicht PC4 und 
PC5 gesetzt sind, der I2C - Bus wieder funktioniert
1
//     PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
2
DDRC =  1   1   0   0   1   1   0   0

Im Datenblatt ist PC5 mit TDI und PC4 mit TDO beschriftet. Nur verstehe 
ich nicht, was diese PIN´s mit dem I2C - Bus zutun haben.

Könnte mir vielleicht jemand sagen, wie ich diese PIN´s wieder als 
Ausgänge nutzen kann?

Mit freundlichen Grüßen

Balou Baer

von Falk B. (falk)


Lesenswert?

JTAG-Fuse!

Siehe AVR Fuses

von Balou B. (baloubaer)


Lesenswert?

Falk Brunner schrieb:
> JTAG-Fuse!
>
> Siehe AVR Fuses

Hi Falk,

Ich programmiere meinen ATMega32 ja über ISP, kann ich dann die JTAG - 
Fuse ausschalten?

JTAGEN FUSE ist deaktiviertnur SPIEN ist aktiviert. Problem dennoch 
vorhanden.

Gruß
Balou Baer

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

DDRC ist für TWI uninteressant. Wenn TWEN in TWCR gesetzt ist übernimmt 
TWI die Kontrolle über die PINs:

Bit 2 – TWEN: TWI Enable Bit
The TWEN bit enables TWI operation and activates the TWI interface. When 
TWEN is written to
one, the TWI takes control over the I/O pins connected to the SCL and 
SDA pins, enabling the slew-rate limiters and spike filters.

Dein Fehler liegt an einer anderen Stelle.

MfG Spess

von Balou B. (baloubaer)


Lesenswert?

Danke für euere Hilfe,

ich habe heute morgen die Leitungen von den PIN C abgelötet und danach 
keine Probleme mehr gehabt. Daraufhin habe ich die Platine geprüft und 
feststellen müssen, dass auf der Platine durch eine unsaubere Lötung 
eine Brücke zu den benachbarten Bauteilen hatte.

Nach dem ich dieses nachgearbeitet habe, funktioniert nun alles.

Also danke noch einmal.

Mit freundlichen Grüßen

Balou Baer

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.