SPI-Problem mega88

Gast #284174
Lesenswert?
• ▲
▼
Hallo,

ich experemntiere ein wenig mit der SPI eines mega88 herum. Nun habe
ich ein einfaches Testprogramm geschrieben, dass einfach 1010...
ausgeben soll, siehe Projekt im Anhang.

Es passiert aber an dem SCK-Pin nichts. Wenn ich es richtig verstehe,
so müsste da aber ein Clock anliegen, das Oszi zeigt aber nichts an
(beim Programmieren des mega88 per ISP, sieht man den Clock, nur um
Fragen, ob richtig gemessen, zuvorzukommen).

Meiner Meinung nach habe ich alles gemacht, was im Codebeispiel des
Datenblattes stand, wie man liest ohne Erfolg. Was habe ich übersehen
oder falsch gemacht?

Gruß, "der Langsame"

P.S. ich verwende (WinAVR) mit avr-libc 1.2.5 und avr-gcc 3.4.4 und
avr-Studio 4.12 build 460
Angehängte Dateien:
Gast #284177
Lesenswert?
• ▲
▼
Hmm...

jetzt hab ich mal einen Mega16 mit dem gleichen Programm (nur MISO und
SCK angepasst) programmiert und da läuft die SPI. Sehr eigenartig.

>Muss man bei SPI nicht erst noch einen Takt programmieren?

Mann kann einen Teiler beschreiben (Flags im SPCR und SPSR Register),
ich denke das muss nicht notwendigerweise sein (wenn default 0
eingesetzt wird hab ich fosc/4). Ich möchte doch nur (erstmal), dass
der Takt funktioniert.
Moderator Persönliche Seite #284178
Lesenswert?
• ▲
▼
Noch eigenartiger: wenn ich das auf einem ATmega128 laufen lasse
(DDRx-Pins passend geändert), dann läuft es nach einem power-on reset
erstmal eine Weile, bis dann offenbar SPIF nicht mehr gesetzt wird.
Nach einem externen oder JTAG Reset läuft es nicht los. %^)

Andererseits habe ich ähnlichen Code (nur natürlich ohne
Endlosschleife :) im Produktiveinsatz, ohne Probleme.
Gast #284179
Lesenswert?
• ▲
▼
Ich habe jetzt mal den Pin toggeln lassen.
1
for(;;)
2
{
3
 PORTB |= (1<<PB5); 
4
 PORTB &= ~(1<<PB5);
5
}

und das geht auch nicht. Wahrscheinlich hat sich der Ausgang
verabschiedet. Werd es mal mit einem anderen versuchen. Für heute ist
erstmal Schluss.

Vielen Dank und Gruß,

Slowflyer

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.