How can we easily implement SPI using Microchip PIC16C5X series devices, using some GPIO. If firmware achievable to implement a slave/master interface.
Thanks for everyones input here....!
How can we easily implement SPI using Microchip PIC16C5X series devices, using some GPIO. If firmware achievable to implement a slave/master interface.
Thanks for everyones input here....!
SPI (master) is extremely easy to do in software on any micro - just wiggle the clock line and squirt the bits out.
I've implemented software SPI on the AVR '2313, with several slaved to a mid-range PIC with hardware SPI as the master. It was quite easy. You should be able to do the same with your PIC.
Leon
Should give you the general idea (untested):
spi_writebyte: movwf tmp movlw 8 movwf cntr $1 btfss tmp,0 bcf spi_out btfsc tmp,0 bsf spi_out
bsf spi_clk bcf spi_clk
rrcf tmp decfsz cntr goto $1
return
;-----------------
spi_readbyte: movlw 8 movwf cnt clrf tmp $1 rrcf tmp
bsf spi_clk btfsc spi_in bsf tmp,7 bcf spi_clk
decfsz cntr goto $1
movfw tmp return
Look at some of the C compilers for the PICs. At least one (CCS,
Also look at the Microchip application notes for SPI:
Rob Young snipped-for-privacy@ieee.org
Have something to add? Share your thoughts — no account required.
Ask the community — no account required