Forum: Mikrocontroller und Digitale Elektronik ATMEGA32u4 - Portbelegung / TWI (Anfängerfrage)


von Marcel S. (derschlangen)


Angehängte Dateien:

Lesenswert?

Hallo zusammen, ich bin es mal wieder.

Ich habe mich nun einige Zeit mit dem Datenblatt des uC beschäftigt aber 
bei 400 Seiten und vielen Fragen und noch weniger Erfahrung gibt es aber 
immer noch Fragen die man nicht selber beantworten kann.

Es geht sich gerade um die Portbelegung. Ich suche den Port für I2C und 
habe laut Datenblatt P0 und P1 als TWI identifiziert (Seite 77 im 
Datenblatt). Jedoch habe ich jetzt nicht explizit gefunden welche Pins 
ich als normale digitale Eingänge nutzen kann? Ist es so wie bei Arduino 
das ich jedem Pin sagen kann ob er Ausgang oder Eingang ist? Wenn ja wo 
finde ich diese Info im Datenblatt?

Ich bedanke mich schon jetzt für die hoffentlich hilfreichen Antworten.

von Mike (Gast)


Lesenswert?

Marcel Schlangen schrieb:
> Ist es so wie bei Arduino
> das ich jedem Pin sagen kann ob er Ausgang oder Eingang ist?

Arduino Boards verwenden ATmega Prozessoren (bis auf den Arduino Due). 
Da gibt es keinen Unterschied. Den Rest macht die Arduino Software oder 
eben eigene Routinen in C oder SAM

von spess53 (Gast)


Lesenswert?

Hi

>Jedoch habe ich jetzt nicht explizit gefunden welche Pins
>ich als normale digitale Eingänge nutzen kann?

Jedes Portpin kann als normaler Ein-/Ausgang benutzt werden. Die 
alternativen Portfunktionen, z.B. TWI werden erst durch die 
entsprechenden IO-Module aktiviert. Siehe Kapitel 10 I/O-Ports.

MfG Spess

von Marcel S. (derschlangen)


Lesenswert?

Jetzt bleibt mir noch eine Frage die mir gerade aufgekommen ist:
Die Pins die ich für den ISP brauche sind ja außer im Programmierfall 
nicht belegt. Kann ich die quasi doppelt belegen? So das sie im Betrieb 
als I/Os fungieren und beim programmieren dazu benutzt werden können mit 
dem ISP zu programmieren? Wenn das geht, was ist an Schaltungsaufwand 
notwendig oder kann man es einfach so 'reinklemmen'?

von DerSchlangen (Gast)


Lesenswert?

Kann da keiner was zur ISP Schnittstelle sagen?

von spess53 (Gast)


Lesenswert?

Hi

>Kann da keiner was zur ISP Schnittstelle sagen?

Denk doch einfach mal selbst nach. Was wird wohl passieren, wenn an 
einem ISP-Pin der Auslöser einer H-Bombe hängt und du den Pin 
abschaltest und mit einem Signal von außen an diesem Pin zu wackelst?

MfG Spess

von DerSchlangen (Gast)


Lesenswert?

Also mit der Aussage kann ich leider nichts anfangen auch wenn sie 
vielleicht lustig gemeint war.

Also muss ich dafür sorgen das es kein Ausgang ist wo die ISP Pins 
draufliegen weil ich sonst was auslösen könnte? Eingänge müssten dann 
also gehen? Weil ich da ja eh nichts beeinflussen kann?!

von c-hater (Gast)


Lesenswert?

DerSchlangen schrieb:

> Also mit der Aussage kann ich leider nichts anfangen auch wenn sie
> vielleicht lustig gemeint war.

Hmm... Schlechtes Zeichen. Das war ein Beitrag, der zum selber Denken 
auffordert.

> Also muss ich dafür sorgen das es kein Ausgang ist wo die ISP Pins
> draufliegen weil ich sonst was auslösen könnte?

Na bitte, geht doch!

Stimmt aber leider nicht wirklich...

> Eingänge müssten dann
> also gehen?

Und das auch nicht...

Es hängt in beiden Fällen schlicht und einfach davon ab, WAS GENAU an 
den Pins hängt, und WIE GENAU es mit deiner Schaltung zusammenarbeitet.

Am besten geeignet als Zweitnutzung für die ISP-Anschlüsse sind drei 
Sachen:
1)
Eingänge für mechanische Kontakte, sofern sichergestellt ist, daß diese 
Low-Aktiv mit internem Pullup realisiert sind und sie zur 
ISP-Programmierzeit nicht betätigt sind/werden.
2)
Ausgänge für Taster-Matrizen, sofern sichergestellt ist, daß die Taster 
zur ISP-Programmierzeit nicht betätigt sind/werden.
3)
SPI-Geräte, sofern sie ihr SPI-Interface hochohmig schalten, wenn sie 
nicht selektiert sind und ihr Select-Eingang mit einem Pullup oder 
Pulldown ausgestattet wird (je nachdem, was sie inaktiv macht).

Aber schon bei diesen drei Sachen sind einige Einschränkungen zu 
beachten, wie du sehen kannst.

Für alles andere gibt es keine einfachen Regeln. Man muß einfach die 
Schaltung verstehen, um die Möglichkeit der Zweitnutzung der ISP-Pins 
dafür beurteilen zu können.

von DerSchlangen (Gast)


Lesenswert?

Kann evtl. der USB Port eine Alternative zum ISP sein? Beim Arduino kann 
ich ja auch über USB programmieren. Geht sowas mit einem bootloader?

von c-hater (Gast)


Lesenswert?

DerSchlangen schrieb:

> Kann evtl. der USB Port eine Alternative zum ISP sein? Beim Arduino kann
> ich ja auch über USB programmieren. Geht sowas mit einem bootloader?

Natürlich. Aber nur mit Einschränkungen. Ein Bootloader muß erstmal 
irgendwie auf den Chip gelangen und auch die Fuses kann man nicht via 
Bootloader setzen.

Zumindest zur Erstprogrammierung ist also Programmierung über einen der 
dafür vorgesehenen Wege erforderlich. Es sei denn, du bestellst richtig 
Stückzahlen, dann kannst du dir die Teile mit deinem Bootloader 
vorprogrammiert und den von dir gewünschten Fuse-Settings in's Haus 
liefern lassen.

von Oliver R. (orb)


Lesenswert?

DerSchlangen schrieb:
> Beim Arduino kann ich ja auch über USB programmieren.

Du kannst den Bootloader vom Arduino Leonardo oder von Pro Micro 
aufspielen, auf denen ist der 32U4 verbaut. Dann hast Du auf dem USB 
eine serielle Emulation zum Programmieren/Debuggen und der Umstieg vom 
Arduino ist leichter.

Oder Du benutzt den Bootloader den Atmel mit ausliefert und FLIP 
(http://www.atmel.com/tools/FLIP.aspx )zum programmieren.

: Bearbeitet durch User
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.