spi schnitstelle

Gast
welcher Prozessor, welches Programm?? ächz.
Kann sein, dass hier einer "das beispielprogramm von apetech zur
ansteuerung eines 6100" zur Hand hat - ich werde mich dafür nicht
durchs Netz wühlen, und die meisten anderen auch nicht.
Gast
bei manchen uCs muss man den select pin (SS), der eigentlich für den
Slavebetrieb relevant ist, zwangsweise als eingang konfigurieren und
per pullup auf high ziehen. ansonsten wird zur laufzeit auf slavemode
umgeschaltet und nix geht mehr.
Gast
hab einen mega8... das würde nicht viel bringen wen ich das prg poste,
da dieses mit einer eigenen library von ihm funzt! meine nur das das
programm gehen müsste da es ja schon mehrere leute getestet haben.
wollt nur wissen welche einstellungen ich alle an meinem µC vornehemen
muss...
Gast
So initialisier ich die SPI. Ist zwar für Atmega 128, dürfte aber auch
beim Atmega 8 funktionieren...

    /* set port b.0 as output (chip select */
    DDRB |= _BV(PB0);
    /* MOSI and SCLK as output */
    DDRB |= _BV(PB1);
    DDRB |= BV(PB2);
    DDRB &= ~ _BV(PB3);

    /* set bitrate fclk/16 */
    SPCR |= (INT8U)_BV(SPR0);
    SPCR &= (INT8U)~ _BV(SPR1);

    /* MSB first / clock polatity = 0 / clock phase = 0 / interrupts
disabled */
    SPCR &= (INT8U)~ (_BV(DORD) | _BV(CPOL) | _BV(CPHA) | _BV(SPIE));

    /* set mastermode */
    SPCR |= (INT8U)_BV(MSTR);

    /* enable spi */
    SPCR |= (INT8U)_BV(SPE);

    /* write data to spi data register */
    SPDR = data;
    /* wait until serial transfer is complete */
    while (!(SPSR & _BV(SPIF)));

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.