Sökningen fann 6 träffar

av eloom
15 oktober 2010, 09:20:31
Kategori: Inbäddade system / Inbyggda system / IoT
Tråd: PIC SPI slave driver
Svar: 14
Visningar: 1863

Re: PIC SPI slave driver

Problemet är löst :) Mastern's klocka tog inte en paus mellan varje byte som shift:ades ut. Så inte konstigt att WCOL sattes sporadiskt.
Tack för era tips, de var värdefulla!
av eloom
12 oktober 2010, 10:53:47
Kategori: Inbäddade system / Inbyggda system / IoT
Tråd: PIC SPI slave driver
Svar: 14
Visningar: 1863

Re: PIC SPI slave driver

Internal oscillator, 4MHz. -> Det kanske inte är så bra, bör kanske prova med en kristall eller RC-krets.
Mastern (inte en PIC) har en SCK bit rate på 32kBit/s, ingen paus mellan bytes skickade. -> Ska försöka med att skicka en byte i taget.
av eloom
11 oktober 2010, 21:52:58
Kategori: Inbäddade system / Inbyggda system / IoT
Tråd: PIC SPI slave driver
Svar: 14
Visningar: 1863

Re: PIC SPI slave driver

Hur jag än konfigurerar SPI eller ordningen på läsa/skriva/rensa flaggor stöter jag på problem. Mitt senaste försök var följande, vilket obönhörligen fastnar i i sista loopen eftersom WCOL trots allt sätts. unsigned char x; if( SSPIF ) { SSPIF = 0; if( SSPOV ) SSPOV = 0; x = SSPBUF; while( BF ); do ...
av eloom
8 oktober 2010, 13:43:24
Kategori: Inbäddade system / Inbyggda system / IoT
Tråd: PIC SPI slave driver
Svar: 14
Visningar: 1863

Re: PIC SPI slave driver

Tack återigen för era kommentarer! :) Ger nog snart upp på att lösa det interruptdrivet och kör på polling + en extra pinne som en "soft select" för att sparka in main-loopen i "receive" mode. Vad gäller att ladda SSPBUF finns följande exempel i PIC18F4321 data sheet, p.170, EXAM...
av eloom
8 oktober 2010, 10:27:57
Kategori: Inbäddade system / Inbyggda system / IoT
Tråd: PIC SPI slave driver
Svar: 14
Visningar: 1863

Re: PIC SPI slave driver

Tack för svaren, ursäkta att jag var lite oklar. Exempel: Inne i interruptrutinen: if( SSPIF ) { rxByte = SSPBUF; (MOVFF SSPBUF,rxByte) SSPBUF = txByte; (MOVFF txByte,SSPBUF) SSPIF = 0; } Det som sker är att SSPBUF inte uppdateras med txByte, utan rxByte ligger kvar. Jag har även testat med att anvä...
av eloom
7 oktober 2010, 14:13:53
Kategori: Inbäddade system / Inbyggda system / IoT
Tråd: PIC SPI slave driver
Svar: 14
Visningar: 1863

PIC SPI slave driver

Hej! Jag implementerar en SPI slave driver, och min approach är att göra den interrupt-driven. PIC: 18F4321 Compiler: CC8e Förutsättningar: - SPI low priority interrupt - W, STATUS and BSR sparas/återställs i isr. Mitt problem: Efter ett interrupt (SSPIF) sparas SSPBUF till RAM som rxData. Därefter ...