Forum: Mikrocontroller und Digitale Elektronik Datenübertragung (SPI) ich kapiere es einfach nicht


von Tobias N. (silberkristall)


Lesenswert?

Hallo,

ich verstehe die Datenübertragung einfach nicht. Ich habe nun vor 2 
megas miteinander zu verbinden. Als Master soll ein Mega32 her, als 
Slave ein Mega8. Am mega8 sind taster, Leds und 2 DS18S20 angeschlossen. 
Am Mega32 ein GLCD taster, transistoren etc.

Der mega32 wird ja als SPI Master konfiguiert. Der gibt ja das 
Taktsignal vor usw. Der mega8 wird als SPI Slave konfigiert, soweit so 
gut. nur kapiere ich nicht wie ich nun daten oder gar ganze texte 
übertrage?

Also der mega8 liest die temperatur vom sensor, der master fragt ja nun 
regelmässig den slave nach daten ab, nur wie werden die übertragen?

also sagen wir der slave liest eine temperatur von 10,5grad, wie liest 
der master die daten nun? in was für einem format erhält er die daten? 
woher weiss der master das es der sensor1 und nicht der sensor2 ist?

das gleiche bei den tastern, wenn die leds an sind soll der master dem 
slave sagen wenn taster1 am master oder auch taster1 am slave gedrückt 
wird leds aus. gleichzeitig soll auf dem lcd der zustand der leds 
angezeigt werden.

wenn in einer variable vom slave z.b. variable = "hallo welt" steht und 
das auf dem lcd am master angezeigt werden soll, wie wird das "hallo 
welt" nun dem master "geschickt/gelesen" und woher weiss der master das 
es "variable" ist und nicht "variablexyz"?

also ich verstehe die übertragung halt einfach nicht.

ich danke euch für eure antworten und hilfen.

von .... (Gast)


Lesenswert?

Für solche Fälle überlegt man sich halt ein Protokoll ;)

von J.-u. G. (juwe)


Lesenswert?

Tobias N. schrieb:
> nur kapiere ich nicht wie ich nun daten oder gar ganze texte
> übertrage?

Die Datenblätter hast Du gelesen? Dort stehen doch Programmierbeispiele 
drinne.

Wenn der Slave eine 8-Bit-Variable übertragen möchte, schreibt er deren 
Inhalt in das SPI-Datenregister. Wenn der Master dises Byte abholen 
möchte, schickt er 8 Taktimpulse an den Slave. Wenn die 8 Taktimpule 
vorüber sind, haben die beiden µC den Inhalt ihrer SPI-Datenregister 
ausgetauscht.

Auf diese Weise werden Daten byteweise vom Master zum Slave und 
umgekehrt übertragen. Vor dem Senden eines Bytes ist zu prüfen, ob die 
Übertragung des vorhergehenden Bytes abgeschlossen wurde. Wie das geht, 
steht im Datenblatt.

von Cyblord -. (cyblord)


Lesenswert?

Du musst alle Daten in einen Bytestrom zerlegen, ja.

Ein String ist ein Strom aus 1-Byte-Buchstaben (ASCII).
Eine Zahl ist ein Byte oder mehrere Bytes je nach Wertebereich.
Eine Kommazahl wird einfach multipliziert (Festkomma) und dann hat man 
wieder eine Ganzzahl.

Und als nächstes muss ein Protokoll her, welches einen Rahmen definiert 
in dem die Bytes übertragen werden. Mit Anfang und Ende und Checksumme 
z.B. Dann ist die Zuordnung am Ende auch klar. Von alleine und 
automatisch geht da gar nichts.

gruß cyblord

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:

> Der mega32 wird ja als SPI Master konfiguiert. Der gibt ja das
> Taktsignal vor usw. Der mega8 wird als SPI Slave konfigiert, soweit so
> gut. nur kapiere ich nicht wie ich nun daten oder gar ganze texte
> übertrage?

Wie immer: Byte für Byte

Beim SPI ist es so, dass durch den Master angestossen, im Grunde 2 Dinge 
gleichzeitig passieren:
  Mit jedem Bit, das vom Master zum Slave getaktet wird, wird auch
  gleichzeitig ein Bit vom Slave zum Master getaktet.


Wenn der Master also ein Byte vom Slave 'abholen' will, dann muss er 
seinerseits ein Byte senden, damit gleichzeitig der Slave eine 
Möglichkeit hat, sein Byte zum Master zu geben.

> Also der mega8 liest die temperatur vom sensor, der master fragt ja nun
> regelmässig den slave nach daten ab, nur wie werden die übertragen?

Byte für Byte

> also sagen wir der slave liest eine temperatur von 10,5grad, wie liest
> der master die daten nun? in was für einem format erhält er die daten?

Das interessiert SPI nicht. Für SPI hört die Welt bei Bytes auf. Wie du 
dann darauf aufbauend mehere Bytes überträgst, das ist dein Bier.


> woher weiss der master das es der sensor1 und nicht der sensor2 ist?

indem er vorher dem Slave mitgeteilt hat, dass er jetzt gedenkt den 
sensor1 auszulesen?

> wenn in einer variable vom slave z.b. variable = "hallo welt" steht und
> das auf dem lcd am master angezeigt werden soll, wie wird das "hallo
> welt" nun dem master "geschickt/gelesen" und woher weiss der master das
> es "variable" ist und nicht "variablexyz"?

gar nicht.
Das hat den Master auch nicht zu interessieren.
Mich interessiert ja auch nicht, wo die Werkzeugausgabe ihre Werkzeuge 
lagert. Ich wende mich an die Werkzeugausgabe und verlange einen 
Schraubenzieher. Dann verschwindet der Typ hinter der Theke, holt den 
Schraubenzieher aus dem Lager und gibt ihn mir. Aus welchem Regal der 
das hat und wie er es gefunden hat, interessiert doch mich nicht. Das 
muss der schon selber wissen. Ich verlange nur den Schraubenzieher. Der 
Rest ist sein Bier.

von Tobias N. (silberkristall)


Lesenswert?

ok also "prizipiell" wie beim onewire. aus writebyte() wird dann der 
string in einzelne bits zerlegt und einzenld "geschoben". und wie/woher 
erfährt der master ob der slave 8 oder 100 bit übertragen soll, oder ob 
es denn nur 1 oder 10 verschiedene variablen sind?

von Cyblord -. (cyblord)


Lesenswert?

Tobias N. schrieb:
> ok also "prizipiell" wie beim onewire. aus writebyte() wird dann der
> string in einzelne bits zerlegt und einzenld "geschoben". und wie/woher
> erfährt der master ob der slave 8 oder 100 bit übertragen soll, oder ob
> es denn nur 1 oder 10 verschiedene variablen sind?

Was hast du denn an "PROTOKOLL" nicht verstanden? Darauf muss man sich 
vorher halt einigen bevor man lossendet.

Anfrage: Gib mich Temperatur 1
Antwort: 1 Startbyte - 2 Byte Tempertur Wert 1 - 1 Byte CRC - 1 Byte 
ENDE (=5 Byte)

gruß cyblord

von J.-u. G. (juwe)


Lesenswert?

Tobias N. schrieb:
> und wie/woher
> erfährt der master ob der slave 8 oder 100 bit übertragen soll, oder ob
> es denn nur 1 oder 10 verschiedene variablen sind?

Wenn Du der Programmierer der beiden Chips bist, ist es Deine Aufgabe, 
das festzulegen. Das nennt man Datenübertragungsprotokoll und das wurde 
oben auch schon mehrmals angemerkt.

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:
> ok also "prizipiell" wie beim onewire. aus writebyte() wird dann der
> string in einzelne bits zerlegt und einzenld "geschoben". und wie/woher
> erfährt der master ob der slave 8 oder 100 bit übertragen soll, oder ob
> es denn nur 1 oder 10 verschiedene variablen sind?

Indem die beiden vereinbaren, dass der Master anfordert

Den String (zb beim Namen)

woraufhin der Slave die Länge des Strings bei der nächsten Übertragung 
an den Master zurückgibt

woraufhin der Master eine entsprechende Anzahl an Bytes zum Slave 
überträgt, die der Slave dazu benutzt um seinerseits die Bytes zum 
Master zurückzugeben.



Sonderlich kreativ bist du nicht, wenn es um die Frage geht, wie wohl 
ein Protokoll aussehen könnte, welches eine bestimmte Anforderung 
leisten könnte. Denk dir was aus! Hier bist du Gott - du bestimmst wie 
dein Universum funktioniert.

von Wolfgang (Gast)


Lesenswert?

cyblord ---- schrieb:
> Eine Zahl ist ein Byte oder mehrere Bytes je nach Wertebereich.
> Eine Kommazahl wird einfach multipliziert (Festkomma) und dann hat man
> wieder eine Ganzzahl.

Wozu soll an Kommazahlen rummultipliziert werden? Die Daten können genau 
in der Form, in der sie vorliegen, über SPI übertragen werden. Das 
Protokoll muss dafür natürlich die Übertragung beliebiger Dateninhalte 
erlauben - aber das ist ja hinzukriegen.

von Cyblord -. (cyblord)


Lesenswert?

Wolfgang schrieb:
> cyblord ---- schrieb:
>> Eine Zahl ist ein Byte oder mehrere Bytes je nach Wertebereich.
>> Eine Kommazahl wird einfach multipliziert (Festkomma) und dann hat man
>> wieder eine Ganzzahl.
>
> Wozu soll an Kommazahlen rummultipliziert werden? Die Daten können genau
> in der Form, in der sie vorliegen, über SPI übertragen werden. Das
> Protokoll muss dafür natürlich die Übertragung beliebiger Dateninhalte
> erlauben - aber das ist ja hinzukriegen.

Wolfgang, können kannst du alles. Machen muss man aber nicht alles.
Vor allem weil es nicht um Kommazahlen im Controller selber geht, also 
nicht um doubles, sondern um rein logische Kommazahlen, z.B. eine 
Temperatur die aber im Controller so nie als Kommazahl vorliegt. Schon 
vom Sensor bekommt man diese ja anders codiert. Erst denken gelle. Der 
DS18B20 liefert die Temperatur z.B. als 1/16 Grad Festkommazahl in 2 
Bytes.

von Tobias N. (silberkristall)


Lesenswert?

ok, dann mal für "dumme" und um mir das "bildlich" vorzustellen:

also der master sagt dem slave "hallo"

danach sagt der master dem slave "gibt mir den inhalt der variable xyz"

der slave sagt dem master "das sind x bits" und schreib die daten ins 
spi register

der master sendet die "leeren" bits zum slave

der slave antwortet dem master mit den "vollen" bits

der master beendet die abfrage.

kann ich mir das so grob vorstellen?

von Cyblord -. (cyblord)


Lesenswert?

Ne das ist so dermaßen Banane und falsch. Hast du eigentlich gelesen was 
wir geschrieben haben?

Ehrliche Frage: Möchtest du wirklich vom Autoschrauben zur 
Elektronik/Programmierung? Möchtest du nicht beim schrauben bleiben. 
Ganz ehrlich, ohne Sarkasmus.

von Eumel (Gast)


Lesenswert?

Lies halt mal den Wikipedia Artikel über SPI. Das sind einfach nur zwei 
Schieberegister die hintereinander hängen.

von Tim S. (Firma: Germany) (timex09)


Lesenswert?

naja... so falsch war es doch gar nich ;)
nur "etwas" verdreht und mit Bit waren vllt. Byte gemeint.

Du kannst das so machen:

MASTER AN SLAVE : ADRESSE X bis Y
SLAVE AN MASTER : DATEN VON X bis Y
;der master hatt genaue vorgaben was zwischen X und Y steht.

aso...

1 Byte = 8 Takte = 8 Bit
Deswegen nur 1 bzw. 2 Datenkabel.

von Cyblord -. (cyblord)


Lesenswert?

Tim S. schrieb:
> naja... so falsch war es doch gar nich ;)
> nur "etwas" verdreht und mit Bit waren vllt. Byte gemeint.
Deine Drogen möcht ich haben.

von Tim S. (Firma: Germany) (timex09)


Lesenswert?

:D immer positiv denken

von Karl H. (kbuchegg)


Lesenswert?

Tobias N. schrieb:


Können wir uns darauf einigen, dass wir die technischen Details der 
Byte-Übertragung ausser acht lassen?
Eine SPI Übertragung bedeutet einfach: Master und Slave tauschen 1 Byte 
aus.



          Eine SPI Übertragung
          ####################

   Master                            Slave
                 1 Byte
      ---------------------------->
      <----------------------------
                 1 Byte

Die beiden Übertragungen laufen gleichzeitig ab, wobei der Master das 
Timing steuert. Aber das ist für alles weitere ab jetzt uninteressant.

Das ist dein Building Block, auf dem alles andere aufbaut. Stell dir 
einfach vor, du bist der Master und dein Kumpel ist der Slave. Ihr habt 
vor euch Papier liegen und Bleistift, mit dem du genau 1 Zahl auf das 
Papier schreiben kannst (und dein Kumpel natürlich auch).

Eine Datenüertragung sieht so aus, dass du dein Papier zusammenfaltest, 
dein Kupel sein Papier zusammenfaltet und ihr beide gleichzeitig mit der 
rechten Hand den Zettel zum Gegenüber schiebt, welchen derjenige dann 
mit der linken Hand entgegen nimmt.
jeder von euch beiden kann dann den zettel auffalten, lesen was drauf 
steht und entsprechend reagieren.

Dein Job ist es jetzt ein System von Codezahlen zu 'erfinden', mit dem 
du als Master deinem Kumpel Befehle übermitteln kannst etwas zu tun, 
bzw. mit dem du von deinem Kumpel anfordern kannst, dass er dir 
irgendwelche Auskünfte gibt. Wobei die einzige Einschränkung darin 
besteht, dass jeder von euch 2 lediglich Zahlen zwischen 0 und 255 auf 
den Zettel schreiben kann.

Also?
Irgendwelche Ideen, wie du deinen Kumpel dazu bringen kannst das 
Fenster/Tür/Kühlschrank/Bier zu öffnen, bzw. wie du ihn fragen kannst, 
wieviel Bier noch im Kühlschrank ist?

von holger (Gast)


Lesenswert?

>Also?
>Irgendwelche Ideen, wie du deinen Kumpel dazu bringen kannst das
>Fenster/Tür/Kühlschrank/Bier zu öffnen, bzw. wie du ihn fragen kannst,
>wieviel Bier noch im Kühlschrank ist?

Und nach der Frage mal darüber nachdenken wie lange der Kumpel
wohl braucht bis er sie verstanden hat und die Antwort liefern kann.

Nach der Frage sofort Dummy Bytes zu senden um die Antwort abzuholen
könnte in die Hose gehen.

von Karl H. (kbuchegg)


Lesenswert?

holger schrieb:
>>Also?
>>Irgendwelche Ideen, wie du deinen Kumpel dazu bringen kannst das
>>Fenster/Tür/Kühlschrank/Bier zu öffnen, bzw. wie du ihn fragen kannst,
>>wieviel Bier noch im Kühlschrank ist?
>
> Und nach der Frage mal darüber nachdenken wie lange der Kumpel
> wohl braucht bis er sie verstanden hat und die Antwort liefern kann.
>
> Nach der Frage sofort Dummy Bytes zu senden um die Antwort abzuholen
> könnte in die Hose gehen.


Hmm. Da sollte ich die Analogie modifizieren.
Also sein Kumpel schiebt ihm nicht den Zettel rüber, sondern Tobias 
nimmt sich einfach den Zettel (den obersten vom Stapel) vom Platz seines 
Kumpels. Wenn der gerade beim Kühlschrank zum Bierzählen ist, dann nimmt 
er sich einen Zettel auf dem irgendeine Zahl steht (auf allen Zetteln 
steht irgendeine Zahl, jeder muss die erst mal ausradieren und die 
richtige draufschreiben).
Und Tobias hat keine Möglichkeit rauszufinden, ob sein Kumpel schon was 
geschrieben hat. Meinetwegen weil beide blind sind.

von Spess53 (Gast)


Lesenswert?

Hi

>Ich habe nun vor 2 megas miteinander zu verbinden

Versuche es lieber mit einem Controller zu realisieren.

MfG Spess

von Tim S. (Firma: Germany) (timex09)


Lesenswert?

aber nicht wieder denken, das leere Blatt Papier sind leere Bits die 
übergeben werden müssen.

von Tobias N. (silberkristall)


Lesenswert?

ich habe nun eine "komplizierte" lösung gefunden aber sie geht.

Mittels einer zweiten CS leitung :) Naja nicht sehr schön und originel 
aber es klappt.

schleife

Master setzt CS2 auf High
Slave schreibt Daten ins register
Master setzt CS2 auf LOW
Master startet SPI abfrage
Master liest die bits,bytes
Master beendet SPI abfrage

schleife ende

Eine Liste der Daten steht in einem array. Ist das arrayende erreicht 
werden wieder wieder die ersten Daten ins register geschrieben.

Die "listen" müssen nur auf dem Master und Slave in der gleichen 
reihenfolge stehen sonst stimmt die Zuordnung nicht mehr. Ich muss jetzt 
nur noch das timing hinbekommen, also das der Master erst abfragt wenn 
der Slave auch die Daten ins Register geschrieben hat. Aber erste tests 
klappen schon.

Leider ist der Master nach den ersten 2 - 3 abfragen schneller als der 
Slave und schon "verrutscht" die Zuordnungsliste.

von Eumel (Gast)


Lesenswert?

Schau dir doch mal an wie übliche SPI Hardware angesprochen wird und wie 
die Protokolle aussehen. Daran solltest du dich orientieren.

von Martin Beuttenmüller (Gast)


Lesenswert?

Ich denke, der TO is wieder so'n "beratungsresistenter
Grobmechaniker". Ob das SPI, TTY I²C oder "Rauchzeichen am
Lagerfeuer" betrifft ist Wust, solange er nicht das Funktions-
Modell der ISO rafft:

Schicht 1: am Anfang war der Draht
Schicht 2: wir sorgen für gegenseitige Verständigung (Sync)
Schicht 3: ...

Tja, Schicht_1 hat der Gutste ja irgendwie hingekriegt,
doch ich werde das Gefühl nicht los, dass ihn die weiteren
Schichten überfordern: die gibt es nicht im Laden, hier ist
selbermachen angesagt.

Sollte der TO jemals ein "sicherheitsrelevantes Produkt"
auf den Markt bringen, bitte bescheidsagen. Ich werde dann
den Einsatzort weiträumig meiden ...

Erfolgreiches Lernen für den TO
Martin
-----
Tip: ein gutes Buch über Übertragungsprotokolle könnte
hilfreich sein ...

von BundesBildungsInitiative (Gast)


Lesenswert?

Martin Beuttenmüller schrieb:
> Ich denke, der TO is wieder so'n "beratungsresistenter
> Grobmechaniker".

Da tust du ihm aber grosses Unrecht. Tobias ist ein Hochbegabter, einer 
der letzten wahren Pioniere, der unsere Achtung und Bewunderung 
verdient:

Beitrag "Re: Projekt: Bordcomputer"

von Abholmarkt (Gast)


Lesenswert?

Da wäre noch ein Schaltplan für Tobias zu überprüfen

Beitrag "Re: Schaltplan prüfen?"

von proaktiver (Gast)


Lesenswert?

Hier noch das grosse Tobias N. Literaturverzeichnis:

http://www.google.de/search?q=%22tobias+n.%22+site:mikrocontroller.net&hl=de&lr=&as_qdr=all&prmd=ivns&ei=HEE7UeW_Iony4QSYtYFQ&start=10&sa=N

Der Mann ist wirklich eine Ausnahmeerscheinung.

von Schlumpf (Gast)


Lesenswert?

Aber eines muss man Tobias lassen:
Er schafft es dann doch, trotz seiner Naivität in dem ganzen 
Elektronikthema, sich mit offensichtlich großem Ehrgeiz durch die 
Materie zu fressen.. egal, ob beratungsresistent, naiv oder sonstwas. Er 
stolpert sich von einem Problem zum nächten, löchert die Leute im Forum, 
interessiert sich recht wenig für die Antworten und schafft es dennoch, 
sich nach und nach durch ein Projekt zu nagen, welches eigentlich viel 
zu groß für ihn ist (Bordcomputer). Und nebenbei hat das ganze noch 
einen gewissen Unterhaltungswert für alle Beteiligten, sonst würde es ja 
aktuell nicht schon 334 Antworten zum Bordcomputer geben ;-)

Tobias: "thumbs up!" :-) :-) :-)

von Tobias N. (silberkristall)


Lesenswert?

ich finde es auch recht interessant das das thema hier immernoch 
behandelt wird. naja, es ist noch nicht ganz einbau reif aber 
funktional, naja, schlage mich halt mit dem code noch rum, aber was 
laufen soll läuft bisher 1A.

naja wie man ja diesem thread entnehmen kann fummel ich noch am code.

von Thomas E. (thomase)


Lesenswert?

Schlumpf schrieb:
> löchert die Leute im Forum,
> interessiert sich recht wenig für die Antworten und schafft es dennoch,
Manch anderer hätte, wenn er hier so wie Toby skriptal auf die Fresse 
gekriegt hätte, sich heulend zurück gezogen und sich das Thema Internet 
mit dem Seitenschneider endgültig vom Hals geschafft.

Zur Belohnung darf er bestimmt irgendwann ins Dschungelcamp.

mfg.

von Schlumpf (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> und sich das Thema Internet
> mit dem Seitenschneider endgültig vom Hals geschafft.

Brauch ich einen speziellen Seitenschneider für mein WLAN-Kabel???

von Beichtvater (Gast)


Lesenswert?

Tobias N. schrieb:
> wie man ja diesem thread entnehmen kann fummel ich noch am code.

Pfuuiii!! Tobias!

von Tobias N. (silberkristall)


Lesenswert?

Schlumpf schrieb:
> Thomas Eckmann schrieb:
>> und sich das Thema Internet
>> mit dem Seitenschneider endgültig vom Hals geschafft.
>
> Brauch ich einen speziellen Seitenschneider für mein WLAN-Kabel???

ja, das geht nur mit einem katana. Habe ich schon probiert, klappt 
wirklich.

Man man man, leute, wenn ihr nichts mit eurer Zeit anfangen könnt sucht 
euch nen hobby. ich finde es immerwieder bemerkenswert wieviele 
voll..... hier nur sinnlose komments abgeben.

Macht es doch bei "meinen" Beiträgen ganz einfach, antwortet auf die 
fragen / themen oder haltet eure schnau...

Langsam habe ich das gefühl hier fehlen so einige forum moderatoren. 
antworten sollten durch moderatoren vorher freigegeben oder hinterher 
geprüft werden. sobald es nichts mit der frage/thema zu tun hat löschen. 
das würde hier auch vieles übersichtlicher machen.

und wie schon in anderen beiträgen erwähnt sind die antworten von 
"gästen" am besten ganz zu unterbinden.

von Gutmensch (Gast)


Lesenswert?

Können wir dir noch irgendwie helfen, Tobias?

von Schlumpf (Gast)


Lesenswert?

Mönsch Tobi.. sei doch nicht gleich so.
Ich finde, ich habe dich vorhin ganz schön gelobt für deine 
bemerkenswerte Ausdauer. Daher versteh ich echt nicht, dass du grad so 
böse zu den Gästen bist.

Aber glaubst du wirklich, dass die Qualität der Posts besser wird, wenn 
man angemeldet ist? Ich meine, lies doch mal, was du so schreibst und du 
bist ja auch angemeldet, oder?

von Qualitätskontrolle (Gast)


Lesenswert?

Schlumpf schrieb:
> Aber glaubst du wirklich, dass die Qualität der Posts besser wird, wenn
> man angemeldet ist?

Sieht man doch an den Beiträgen von Tobias, angemeldet als 
Silberkristall ;-)

von fonsana (Gast)


Lesenswert?

Tobias N. schrieb:
> Langsam habe ich das gefühl hier fehlen so einige forum moderatoren.
Der Meinung bin ich ganz und gar. Dann wuerden solche Entgleisungen
> fragen / themen oder haltet eure schnau...
>
von Beratungsresitenten, die Helfenden staendig missachtendenden 
(Recht-/Gross-/Kleinschreibung) gar nicht erst freigeschaltet.

fonsana

von Mitlesender (Gast)


Lesenswert?

Naja wenn man ab und an mal mitließt gibt es auch unter den Moderatoren 
Leute die ab und an Dinger loslassen die unter aller Sau sind. Noch 
schlimmer ist es dann wenn sie von ihren "Fanboys" dafür auch noch 
bejubelt werden bzw. diese dann auch noch auf Neulinge verbal 
einschlagen.

von Tobias N. (silberkristall)


Lesenswert?

ganz meiner meinung. naja gibt halt nur leider wenige die so denken.

von franz (Gast)


Lesenswert?

Mit zwei Arduinos und I2C ist das Problem für Anfänger einfacher zu 
lösen:
http://www.bajdi.com/i2c-communication-between-2-arduinos/

SPI geht auch ;-)

von franz (Gast)


Lesenswert?


von fritzi (Gast)


Lesenswert?


von genervter gast (Gast)


Lesenswert?

Tobias N. schrieb:
>
> Man man man, leute, wenn ihr nichts mit eurer Zeit anfangen könnt sucht
> euch nen hobby. ich finde es immerwieder bemerkenswert wieviele
> voll..... hier nur sinnlose komments abgeben.
>
> Macht es doch bei "meinen" Beiträgen ganz einfach, antwortet auf die
> fragen / themen oder haltet eure schnau...
>
> Langsam habe ich das gefühl hier fehlen so einige forum moderatoren.
> antworten sollten durch moderatoren vorher freigegeben oder hinterher
> geprüft werden. sobald es nichts mit der frage/thema zu tun hat löschen.
> das würde hier auch vieles übersichtlicher machen.
>
> und wie schon in anderen beiträgen erwähnt sind die antworten von
> "gästen" am besten ganz zu unterbinden.
>

Danke für die wertvollen Hinweise und die Lebenshilfe.

Ich habe Deinen wohlmeinenden Rat befolgt und mir ein Hobby gesucht; Es 
hat mit Elektronikentwicklung und Mikrocontrollern zu tun. Von Zeit zu 
Zeit besuche ich im Internet ein Forum, welches ebendiese Themen 
behandelt. Leider "posten" dort relativ häufig "Möchtegerne", welche 
ohne jedwede Form von Konzept und mit einem bestenfalls grundlegend 
vorhandenem Wissen über Elektrik (oder Verbrennungskraftmaschinen) sowie 
ohne Pheripherkompetenz versuchen, vollkommen überzogene elektronische 
Geräte zu bauen und sich schlecht behandelt fühlen, wenn Kritik geäußert 
wird.

M.E. nach sollten nicht nur die Antworten moderiert werden, sondern auch 
die "Fragen" erst nach Durchsicht freigeschaltet werden.

So würden uns auch etliche alberne bzw. surrealistische Beiträge von Dir 
erspart bleiben!

Was erwartest Du eigentlich?

Du versuchst Dich ständig an Projekten, welche nicht nur ziemlich 
chaotisch anmuten, sondern - ganz offensichtlich - auch WEIT-WEIT-WEIT 
außerhalb Deiner Kragenweite liegen. Ernstgemeinte Ratschläge werden von 
Dir nicht umgesetzt, angenommen oder auch einfach nur beachtet. Dinge 
auf die "normale, erprobte" Art-und-Weise zu erledigen, liegt Dir nicht 
(s. der Vergaster-Turbo-Umbau Deines Nissan. Jeder mit technischem 
Sachverstand bzw. jeder vernunftbegabte Mensch rät Dir als Basis einen 
Einspritzmotor zu verwenden, wenn das Projekt irgendwann einmal mit 
einem verwertbaren Ergebnis fertig werden soll - Du beharrst auf Deinem 
Vergasermotor, weil der ja viiieeeelll besser ist.)

Fast könnte man meinen, Du leidest unter einer Form von 
Aufmerksamkeits-Störung und betreibst in zweckentfremdender Weise hier 
im Forum ein kommentierbares Blog über Deine technischen Spielereien 
bzw. Fortschritte.

Freunde Dich doch langsam mal mit der Realität an.

von Peter D. (peda)


Lesenswert?

2 AVRs über SPI zu verbinden, ist gelinde gesagt eine schlechte Idee.
Die AVRs haben nämlich ein Krüppel-SPI, d.h. ohne Sendepuffer.
Wenn der Master nicht ständig lange Gedenkpausen einlegt, kann der 
Slave-Transmitter garnicht anders, er muß Daten verlieren.

Nimm daher besser die UART oder I2C.

Bei I2C ist ein Datenverlust völlig ausgeschlossen, die Hardware wartet 
immer, bis der langsamste Slave fertig ist (SCL-Stretching).

von Peter D. (peda)


Lesenswert?

Wie schon gesagt wurde, vor jeder Kommunikation steht erstmal ein 
Protokoll.
Und ein gut funktionierendes Protokoll selber zu entwickeln, ist 
definitiv kein Anfängerprojekt.
Man sollte sich also dreimal überlegen, ob und warum mehrere MCs 
unbedingt nötig sein sollen.

von eberhard_hagelkötter (Gast)


Lesenswert?

Beichtvater schrieb:
> Tobias N. schrieb:
>> wie man ja diesem thread entnehmen kann fummel ich noch am code.

Hey Tobi, hier ist ja schon lange nichts mehr los. Schade.
Hast Du denn etwas beim Fummeln im Kot gefunden?

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.