www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik spi Probleme


Autor: Daniel Kremer (crazyman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe Code für meine Kommunikation per SPI der zwei ATMega16 
geschrieben, naja eher den Beispiel Code von Atmels Seite genommen. 
Dieser funktioniert jedoch bei mir nicht und ich weiss auch nicht voran 
es liegt. Vielleicht könnte jemand meinen Code durchschauen? Vielen 
Dank.

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.zip statt .rar erhöht die Chancen deutlich

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe kein SlaveSelect (SS) Signal vom Master
für den Slave im Code.

Autor: Daniel Kremer (crazyman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry der die Zip Datein

Autor: Daniel Kremer (crazyman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe SS vom Master auf Vcc und vom Slave auf Ground gelegt wie 
dies in AVR151 steht.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie es aussieht benutzt du Code für den IAR Compiler
mit dem AVR-GCC. Dein Code "funktioniert" nicht weil
der AVR-GCC ihn nicht compiliert. Da muß man schon einiges
anpassen ;)

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also ich habe SS vom Master auf Vcc

Autsch. Also wenn du ihn nicht benutzt dann
bitte offen lassen. Aber nicht an Vcc anschliessen!
Sonst brennt dir der Pin weg.

Autor: Daniel Kremer (crazyman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also eigentlich compiliert er ihn da ich ihn auch schon angepasst habe. 
Es sei dem du hast was gefunden.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>also eigentlich compiliert er ihn da ich ihn auch schon angepasst habe.
>Es sei dem du hast was gefunden.

>// Interrupt Routine Master Mode (interrupt controlled)
>#pragma vector=SPI_STC_vect
>void ISR_SPI (void)
>{

Ich glaub ich muß mir mal ne neue Version
vom AVR-GCC ziehen. Compiliert der den Code
da oben wirklich? Oder benutzt du IAR?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger wrote:
>>Also ich habe SS vom Master auf Vcc
>
> Autsch. Also wenn du ihn nicht benutzt dann
> bitte offen lassen. Aber nicht an Vcc anschliessen!
> Sonst brennt dir der Pin weg.
Wenn er nicht als Ausgang konfiguriert ist, ist das kein Problem, und 
dann sollte er auch auf VCC gelegt werden (allerdings bitte nicht 
direkt, sondern über den internen Pull-Up). Allerdings sollte der SS 
im Master-Betrieb idealerweise als Ausgang konfiguriert sein...

Autor: Daniel Kremer (crazyman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ich weiss dass der code eigentlich für iar geschrieben wurde aber in 
gcc wird der #pragma teil ignoriert

was ist den eigentlich mit dem teil:

void ISR_SPI (void)

ist der interrupt auch falsch?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel Kremer wrote:
> void ISR_SPI (void)
>
> ist der interrupt auch falsch?
Für den AVR-GCC ja.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>void ISR_SPI (void)
>
>ist der interrupt auch falsch?

Das ist beim AVR-GCC kein Interrupt
sondern eine schnöde Funktion.
Interrupts sehen so aus

ISR(ISR_NAME)
{
}

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger wrote:
> Interrupts sehen so aus
>
> ISR(ISR_NAME)
> {
> }
Wobei "ISR_NAME" i.d.R. der im Datenblatt angegebene Vektorname mit 
angehängtem "_vect" ist...

Autor: Daniel Kremer (crazyman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm muss wohl den interrupt mal bearbeiten, vielen Dank aufjeden fall.

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.