mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eingänge über SPI einlesen


Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Ich will an einen Atmega8 ein paar zusätzliche Eingänge über SPI
anschließen. Dazu habe ich mehrere 74xxx165 angeschlossen. Im
Datenblatt steht leider absolut net viel zum Thema "Master receive".
Dort gibts nur "Slave receive" und "Master transmit".

Wie startet man den Einlese Vorgang? Ich habe dazu keine Flags
gefunden.
Meine Theorie ist das man einfach in das Datenregister irgendwelche
Sinnlose Daten zum Versenden reinschiebt. Und beim ve4rsenden dann die
Datenwelche reinsollen eingetaktet werden. Ich halte dies aber für ein
bissele Pfuschig und die Frage wäre nun gibts da eine "offizielle
Lösung"???????

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Theorie ist das man einfach in das Datenregister irgendwelche
Sinnlose Daten zum Versenden reinschiebt. Und beim ve4rsenden dann die
Datenwelche reinsollen eingetaktet werden. Ich halte dies aber für ein
bissele Pfuschig und die Frage wäre nun gibts da eine "offizielle
Lösung"???????

deine Theorie ist richtig.
So arbeitet SPI nun mal.
Ist aber auch schön im Datenblatt erklärt.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK dann mache ich es halt so.

kommt mir immer noch pfuschig vor ;-)


@Rahul Ghose
Könntest du mir bitte sagen wo das im Datenblatt steht?  sind zwar nur
3 Seiten aber ich finde es nicht direkt. Nur Wishiwaschi wo man sichs
zusammenreimen kann.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn's denn sein muss: PCF8274 per I2C dran hängen. Sieht viel
offizieller und eleganter aus, ist dafür langsamer und teurer.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und noch dazu übelst viel schwachsinniger overhead...

Außerdem würde es gar nicht gehen. Den SPI ist sehr schnell, reicht bei
mir für ein software PWM......

Keine Angst auch ich pfusche Zuviel aber auf das darf ich nicht näher
eingehen sonst bin ich ALG II Empfänger ;-)

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck dir doch mal Figure 58 im Complete Datasheet an. Da sieht man den
Zusammenhang sehr gut.

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich finds nich wirklich pfuschig....

der taktgenerator für den spi-clock arbeitet nur wenn der µC etwas
austakten soll...

ist der normale weg ein "dummybyte" auszutakten (geht ja eh ins
leere) um somit seriell einzulesen... ohne dies hättest du nie ein takt
auf der clock-leitung...

am anfang evt. etwas gewöhnungsbedürftig vom denken her... einfach nur
merken: Takte können nur beim austakten generiert werden... und die
takte brauchst du...

greetz
Danny

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und für spätere Anwendungen könntest du auch Schieberegister benutzen,
indem du seriell-parallel-wandelnde nimmst.
Über SPI kann man auch diverse AD-Wandler u.a. Sachen betreiben...

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo die 74Hxxxxx595 habe ich schon seit längerer Zeit als Ausgangs
erweiterung. Und mache somit ein 24Bit breites PWM Signal. Das
funktioniert auch 1a man muss nur Byte Reinkobieren und weg ist es...

Jetzt habe ich nur ein Problem mit ISP. Das funktioniert ja nun nicht
mehr. Weil die 74xxxx165 ja während des ISP Programmierens mit
angeschlossen sind.
Das Problem ist nun das ich daheim ca. 0 Elektronik Bauteile habe.
(Außer Standart Widerstände und LEDs)

Funktioniert es wenn ich den SPI-Bus mit je einem 1KOhm großen
Widerstand in Reihe schalte? Und den ISP Stecker zwischen Controller
und den Widerständen einlöte??? Ist der Wet mit 1 KOhm gut gewählt? Ich
programmiere mit dem einfachsten ISP Dongle des es gibt. (Paralleler
Stecker und 2 Widerstände....)

Oder soll ich es mit Und oder bauteilen in verbindung mit dem Reset
Signal das irgendwie multiplexen????

PS: Ich weiß ich schreibe manchmal sehr unverständlich ;-)

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie waere es denn mit einem Jumper in jeder Leitung?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.