Forum: Mikrocontroller und Digitale Elektronik SAM D21 und I2C Bus


von Klars (Gast)


Lesenswert?

Hallo
für ein Projekt verwende ich einen SAM D21 J17A. Zur Anzeige mit einem 
Display möchte ich einen PCF8574 nutzen, später erweitern auf TFT. Habe 
dazu das Atmel Dokument gelesen. Leider ist mit vollkommen unklar, wie 
ich es einsetzen soll. Bei den Atm 8 ist mir die verwendung von Peter 
seinen Datein klar und benutze es mit Erfolg. Wie geht das beim SAM D21?
LG Klars

von Klars (Gast)


Lesenswert?

Sorry vergessen zu schreiben, verwende C und SWD

von Kai (Gast)


Lesenswert?

Hi,

Programmierst Du bare metal oder asf?

Gruß

von Schlaf Loser (Gast)


Lesenswert?

Klars schrieb:
> Habe dazu das Atmel Dokument gelesen.

Du redest wirklich wirres Zeug.

Klars schrieb:
> Bei den Atm 8 ist mir die verwendung von Peter
> seinen Datein klar und benutze es mit Erfolg.

Du redest wirklich wirres Zeug.

von Klars (Gast)


Lesenswert?

Warum rede ich wirres Zeug?
Verwende bisher immer den Atmega 8 und die Datein von Peter und einige 
andere. Damit kann ich ohne Probleme verschiedene andere PCF85xx 
ansprechen und schalten. Damit ist z.B. die Ansteuerung verschiedener 
Display 4x16 möglich. Kann auch den LM75 auslesen und anzeigen. Möchte 
jetzt auf den SAM D21 umsteigen. Von Atmel gibt es die verschiedenen pdf 
dazu. Unter anderem auch eine Beschreibung zu Sercom mit Beispielen zur 
Anwendung mit dem I2C Bus mit einigen Codezeilen zur Anwendung als 
Master beim I2C Bus. Leider ist mir die genaue Anwendung damit unklar, 
z.B. die Angabe der Adresse, um aus anderen ICs auszulesen.
Verwende zur Programmierung C (kein Arduino) und nutze den SWD mit einem 
Atmel ICE.

LG Klars

Dachte bisher immer das hier geholfen wird und es keine Beschimpfung zu 
Fragen gibt

von Schlaf Loser (Gast)


Lesenswert?

Klars schrieb:
> Warum rede ich wirres Zeug?

Warum das so ist weiss ich nicht. Aber wenn du von "Peter
seinen Datein" sprichst ohne Zusammenhänge zu nennen dann
ist das wirres Zeug.

Wenn du von "habe dazu das Atmel Dokument gelesen" sprichst
ohne Zusammenhänge zu nennen dann ist das wirres Zeug.
Dokument zu was? Gibt es nur ein "Atmel Dokument"?

Ich würde hier mal den Begriff "Netiquette" bringen den du
erforschen und für dich verstehen solltest.

https://www.mikrocontroller.net/articles/Netiquette

von Klars (Gast)


Lesenswert?

Es gibt von Atmel 2 Doku zum Thema SAM D21 zum I2C Bus. Einer ist Master 
und der andere Slave.
Als Datei meine ich die Datein von Peter Dannegerrer zm I2C Bus. Das 
Thema I2C Bus steht auch in der überschrift drin.
Als "wirres Zeug" bezeichne ich etwas anderes. Es scheint einige zu 
geben, die Anfängern gerne zeigen das Sie besser sind. Eine konstruktive 
Hilfe ist mir lieber. Man kann Fragen auch vernünftig verpacken nicht 
gleich draufhauen.

von Tippgeber (Gast)


Lesenswert?

Schlaf Loser schrieb:
> Autor:
>
>         Schlaf Loser (Gast)

 ... sagt alles, reg Dich nicht darüber auf. Der ist stinkig, weil er 
nicht schlafen kann und macht deshalb andere an, um seinen Frust 
loszuwerden.

von Schlaf Loser (Gast)


Lesenswert?

Klars schrieb:
> Eine konstruktive Hilfe ist mir lieber.

Eine konstruktive Fragestellung ist dem Leser (deutlich) lieber.

Deine Art der Fragestelung/Problemstellung dagegen zwingt
den potentiellen Helfer dazu sich selbst erst mühsam eine
Struktur zusammensuchen zu müssen. Das dürfte deine
Zielsetzung einer Problemlösung deutlich schwieriger machen.

Daher auch Netiquette.

von Lothar (Gast)


Lesenswert?

Klars schrieb:
> verwende ich einen SAM D21 J17A

Warum machst Du es dann nicht wie beschrieben? Allerdings wird das Board 
wohl schon gar nicht mehr hergestellt.

https://playground.boxtec.ch/lib/exe/fetch.php/tutorials/sam-d21_atmel_studio_einrichten.pdf

Klars schrieb:
> Möchte jetzt auf den SAM D21 umsteigen

Hier stellt sich natürlich wieder mal die Frage warum. Die SAM sind die 
ARM mit dem undurchsichtigsten Design. Nimm ARM vom I2C Erfinder NXP da 
funktioniert alles sofort und gibt es sogar als DIP

http://www.nxp.com/products/software-and-tools/software-development-tools/software-tools/lpcopen-libraries-and-examples/lpcopen-software-development-platform-lpc8xx:LPCOPEN-SOFTWARE-FOR-LPC8XX

von Klars (Gast)


Lesenswert?

Hallo Lothar
Den Sam D21 habe ich auf verschiedenen Boards gesehen, z.B. auch das auf 
dem Bild von Rodenhausen oder Arduino Zero. Als Grundlage ist doch immer 
ein M0 drin bzw. das Design dazu. Gibt es den grosse Unterschiede 
zwischen den einzelnen Herstellern? Wenn ich C zum programmieren nutze, 
kann ich das nicht auf einem anderen Prozessor verwenden?

von Klars (Gast)


Lesenswert?

Lothar schrieb:
> Warum machst Du es dann nicht wie beschrieben? Allerdings wird das Board
> wohl schon gar nicht mehr hergestellt.
>
> 
https://playground.boxtec.ch/lib/exe/fetch.php/tutorials/sam-d21_atmel_studio_einrichten.pdf

Das sieht recht gut aus. Leider ist nur die Einstellung vom Atmel Studio 
drin und nicht die Einstellung oder Programmierung des I2C Bus.

von Lothar (Gast)


Lesenswert?

Klars schrieb:
> Wenn ich C zum programmieren nutze, kann ich das nicht auf einem
> anderen Prozessor verwenden?

Nein die Peripherie ist jeweils anders wozu auch I2C gehört. Es sei denn 
Du machst I2C in Software über GPIO. Dann kannst Du auch was vom AVR für 
den SAM nehmen. Aber selbst hier wird am Ende LPC800 von NXP empfohlen.

http://www.avrfreaks.net/forum/bit-bang-i2c-slave-attiny43u

Klars schrieb:
> Arduino Zero

Du kannst auf Deinen SAM D21 einen Arduino Bootloader drauf machen und 
dann Arduino I2C verwenden. Ist wohl der beste Weg um überhaupt mit dem 
SAM zurecht zu kommen.

https://www.youtube.com/watch?v=VQWhjzLoHB8

von Klars (Gast)


Lesenswert?

Kennt den jemand ein gutes (Fach)Buch oder Anleitung oder Tut zu dem 
Thema?
Odr allgemeine Programmierung von SAM oder 32 Bit?

von Marco H. (damarco)


Lesenswert?

Nunja wenn du noch nie mit einen ARM zu tun hattest ... lass es...

Warum weil du den MUX nicht verstehen wirst um überhaupt den PIO 
Controller dazu zu bewegen das I2C auszugeben.

Nebenbei gibt es noch ein Haufen anderen Kram den man verstehen muss 
sonst geht das in die Hose.

Entweder die benutzt die Arduino Umgebung vom M0 oder musst dich in ganz 
viel Stoff einarbeiten.

Mit dem Arduino wirst du allerdings nicht viel sehen vom ARM.

Die Atmel Beispiele beziehen sich auf das ASF und sind meiner Meinung 
total blöd gemacht. Da man nicht versteht was das ASF macht, ohne in den 
Code zu schauen wird man nicht wirklich schlau daraus. Gerade wenn man 
nicht genau das Board benutzt kennt man den Inhalt der Macros nicht.

Es hindert dich aber keiner dran mit der Arduinoumgebung auf Register 
ebene zu Programmieren ;).

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.