Sida 1 av 1

SPI slav med pic12f675

Postat: 15 december 2003, 13:59:35
av zus
Hejsan.

Någon intelligent människa (eller maskin?) som kan ge mig några tips på hur man implementerar SPI med en pic som saknar SSP?

Alla ledtrådar/exempel är välkomna...

// Erik

Postat: 15 december 2003, 14:42:46
av matseng
Du vill alltså ha tag på bitbangade SPI-slave rutiner för PIC?

Bitbangade SPI-masters är inga problem att få tag på- http://pdfserv.maxim-ic.com/en/an/app2361.pdf, men det är inte lika enkelt att hitta slavsoftan.

Ska leta lite.[/url]

Postat: 15 december 2003, 14:55:19
av zus
Exakt.

Har tänkt mig att använda pic:en som en [u]billig[/u] flerkanals A/D-omvandlare...eller...jag behöver bara två kanaler....

Ska använda tillsammans med en 3120 Neuron...

Vore mkt. trevligt om någon hittade ett litet "slav-exempel", för jag gör det inte.

// Erik

Postat: 15 december 2003, 16:44:01
av matseng
Jag har letat i en timma nu och inte hittat något.

Men å andra sidan verkar SPI-protokollet oändligt mycket enklare än I2C-protokollet. Så länge man håller sig till mode 1 så verkar det bara vara att skifta ut databitarna på utpinnen i den takt som klockpinnen anger när slaven är selectad av selectpinnen.

I ditt fall kanske du inte ens skulle behöva ta emot nån data från mastern om du skickar ut alla a/d-portarnas värden direkt efter varandra. Vill du däremot kunna välja vilken a/d-port du ska läsa så behövs ju en dubbelriktad kommunikation.

Postat: 16 december 2003, 19:20:53
av zus
Ok.

Tack ändå. För fixa helt själv då...men...jag har ju hela jullovet på mig.

Delar med mig av eventuella resultat...

// Erik

Postat: 20 december 2003, 17:52:17
av zus
Så...nu är det fixat, var ju inte så svårt :)

Koden kanske kommer genomgå en liten optimering snart dock...

Om det är någon som vill kika på hur det är gjort finns relevanta filer på länken nedan...

http://www.halsius.net/erik/pic/

// Erik

Postat: 20 december 2003, 17:56:35
av matseng
Kul att du fick det att fungera. Det såg ju ganska smidigt och bra ut det där.

Nästa steg är att implementera en bitbangad i2c-slav utan att titta på någons färdiga kod. Då har du att göra över hela julhelgen förmodligen :-)