Forum: Mikrocontroller und Digitale Elektronik Atmega32, Pin0 des PortC funktioniert nicht richtig


von Bastian Nordmeyer (Gast)


Lesenswert?

Hi!

Habe derbe Probleme damit gehabt, den TWI in Gang zu setzen.
Nach mehreren Versuchen, habe ich einfach mal den Port getestet, und
siehe da, der Pin0 funktioniert nicht richtig.
Bei einem einfachen An/Aus Programm schaltet er bei einem High-Pegel
nur auf 0,4V. Ansonsten schaltet er aber. Ist der Port defekt, oder
lässt sich dieses Problem abstellen?

Mit freundlichen Grüßen

Bastian

von Rufus T. Firefly (Gast)


Lesenswert?

Hat dieser Port nicht eine Doppelbelegung mit dem JTAG-Interface, das
über die Fuses abzuschalten ist?
Beim Mega128 jedenfalls ist's so.

von Bastian Nordmeyer (Gast)


Lesenswert?

Das hab ich zuerst auch gedacht.
Habe unter Ponyprog mal die Fuse/sec. Bits ausgelesen...
JTAGEN ist nicht makiert.
Makiert sind bei mir nur:
Bootsz1
Bootsz0
Bodlevel
Boden

Ansonsten funktioniert der µC perfekt, nur halt der Pin0 nicht (und
deshalb wohl auch nicht das TWI)

von Rufus T. Firefly (Gast)


Lesenswert?

TWI ist doch I²C - und das brauch Pullup-Widerstände.

von Bastian Nordmeyer (Gast)


Lesenswert?

sind vorhanden. 2x 10k . Aber diese Testbeschaltung ist völlig minimal,
d.h. ohne TWI.

von Kurt (Gast)


Lesenswert?

Hallo

kenn mich zwar noch nicht aus aber:
könnte es sein dass dr Pin bei verwendung für I2C
als "opencollector" geschaltet ist
und die internen Wiederstände pulldown sind.
Dadurch könnte sich mit den 10K ein Spannungsteiler ergeben.

Gruss Kurt

von ...HanneS... (Gast)


Lesenswert?

Interne Pull-Down-Widerstände? Das wäre mir neu.

...

von Bastian Nordmeyer (Gast)


Lesenswert?

Öhm, klingt logisch. Aber diese Widerstände müsste ich dann doch per
Software aktiviert haben. Habe den gleichen Code jetzt mal auf nem
Atmega8 getestet, und da läuft alles (auch das TWI).

Habe jetzt erstmal nen neuen Atmega32 bestellt, weil ich davon ausgehe
das dieser defekt ist.

Danke an alle!

Bastian

von Pascal (Gast)


Lesenswert?

das JTAG hängt beim ATMEGA32/16 beim PortC an den Pins 2,3,4,5(an
0,1,6,7 nicht)

von Winne (Gast)


Lesenswert?

um  JTAG auszuschalten
musS Bit 7 des MCUCSR innerhalb 4 zyklen 2 mal auf 1 gesetzt werden

z.B.

assembler:

ldi r16, 0x80
out MCUCSR, r16
out MCUCSR, r16


C:

MCUCSR=0x80
MCUCSR=0x80

danach funktioniert port c aber JTAG und somit der interne debugger
sind nicht mehr erreichbar

MCU Control and Status Register – MCUCSR

The MCU Control and Status Register contains control bits for general
MCU functions,
and provides information on which reset source caused an MCU Reset.

• Bit 7 – JTD: JTAG Interface Disable
When this bit is zero, the JTAG interface is enabled if the JTAGEN Fuse
is programmed.
If this bit is one, the JTAG interface is disabled. In order to avoid
unintentional disabling
or enabling of the JTAG interface, a timed sequence must be followed
when changing this bit:
----The application software must write this bit to the desired value
twice within four cycles to change its value.

If the JTAG interface is left unconnected to other JTAG circuitry, the
JTD bit should be set to one. The reason for this is to avoid static
current at the TDO pin in the JTAGinterface.

• Bit 4 – JTRF: JTAG Reset Flag
This bit is set if a reset is being caused by a logic one in the JTAG
Reset Register selected by the JTAG instruction AVR_RESET. This bit is
reset by a Power-on Reset, or by writing a logic zero to the flag.

Bit             7   6    5    4    3    2    1     0
               JTD ISC2  –   JTRF WDRF BORF EXTRF PORF         MCUCSR
Read/Write     R/W R/W   R   R/W  R/W  R/W  R/W   R/W
Initial Value   0   0    0    See Bit Description 

von Winne (Gast)


Lesenswert?

das twi ist etwas umständlicher zu bedienen wen wer noch Bedarf ich habe
den betreffenden Ab aus dem dataheet eitgehend übersetzt und ein C
beispiel für 2 eeprom 24c65 geschrieben es funktioniert .
kurzer ping und ich sende die übersetzung als pdf und das C Beispiel


Bin hier fast täglich erreichbar

http://www.progforum.com/member.php?userid=275

von Winne (Gast)


Lesenswert?

hier schnell noch ein Link zum Twimodul des 32ers soweit ich mit der
Übersetzung des Datenblattes bin.

http://de.geocities.com/postboxelektronik/box/Serielle_Zweidraht_Schnittstelle.pdf

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.