Problem mit SPI

OP #3132606
Lesenswert?

servus,

da ich bin ein anfänger in der uC welt, weiß ich nicht ob meine frage 
blöd ist...
ich benutze einen AVR32UC3C, jetzt möchte ich die spi-schnittstelle zu 
diemnsionieren. ich habe gedacht, dass ich zunächst das clock signal für 
spi erzeugen muss, dann wird entsprechend baud rate für die 
datenübertragung durch einen integrierten baudrategenerator erzeugt. das 
clk_spi wird beim reset von power manager generiert, darum brauche ich 
nicht kümmern, und ich habe den teilungsfaktor für den baudrategenerator 
auch richtig eingestellt, sowie die pin-zuordnung...aber das baudrate 
signal scheint ganz quatsch im oszillo.
meine frage ist, wenn ich den baud rate testen möchte, kann ich einfach 
den mithilfe dem oszillo testen oder muss ich noch zunächst ein slave 
mit dem uC verbinden?
danke sehr, bitte um hilfe
#3132792
Lesenswert?

>a ich bin ein anfänger in der uC welt, weiß ich nicht ob meine frage
blöd ist...
ich benutze einen AVR32UC3C, jetzt möchte ich die spi-schnittstelle zu
diemnsionieren. ich habe gedacht, dass ich zunächst das clock signal für
spi erzeugen muss,

Aeh. Ja. Ich empfehle erst man alles mit einem AVR-Mega zu bearbeiten, 
bevor's ein UC32 sein muss... Da fehlt noch etwas viel.
OP #3132798
Lesenswert?

Danke für die Antwort.
Also mein Code :
void SPI_init(void)
{AVR32_SPI1.CR.swrst = 1;
 uint32_t csr = (0 << AVR32_SPI_CSR0_CPOL_OFFSET) |
               (0 << AVR32_SPI_CSR0_NCPHA_OFFSET) |
               (1 << AVR32_SPI_CSR0_CSAAT_OFFSET) |
               (0 << AVR32_SPI_CSR0_BITS_OFFSET)  |
                (1 << AVR32_SPI_CSR0_SCBR_OFFSET) |
               (0 << AVR32_SPI_CSR0_DLYBS_OFFSET) |
              (0 << AVR32_SPI_CSR0_DLYBCT_OFFSET);
AVR32_SPI1.csr0 = csr;
AVR32_SPI1.csr1 = csr;
AVR32_SPI1.csr2 = csr;
AVR32_SPI1.csr3 = csr;
AVR32_SPI1.cr = AVR32_SPI_CR_SPIEN_MASK;
gpio_enable_module_pin(AVR32_SPI1_SCK_PIN, AVR32_SPI1_SCK_FUNCTION);
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren