X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=firmware%2Fapps%2Fspi%2Fspi.c;h=e6fb370a6c6b3c71485f67a5afe515bc6a5a649d;hb=1f226af77a28d66cbe8eff845e4fee3370798ab8;hp=2b5391467bea2ee2047eb087a27850e9e875da0b;hpb=589872bb228d7c641d49cb60e3e3aab72e45fc82;p=goodfet diff --git a/firmware/apps/spi/spi.c b/firmware/apps/spi/spi.c index 2b53914..e6fb370 100644 --- a/firmware/apps/spi/spi.c +++ b/firmware/apps/spi/spi.c @@ -43,8 +43,6 @@ unsigned char spitrans8(unsigned char byte){ //This function came from the SPI Wikipedia article. //Minor alterations. - P5OUT&=~SS; - for (bit = 0; bit < 8; bit++) { /* write MOSI on trailing edge of previous clock */ if (byte & 0x80) @@ -65,8 +63,6 @@ unsigned char spitrans8(unsigned char byte){ CLRCLK; } - P5OUT|=SS; - return byte; } @@ -74,12 +70,16 @@ unsigned char spitrans8(unsigned char byte){ void spihandle(unsigned char app, unsigned char verb, unsigned char len){ + unsigned char i; switch(verb){ //PEEK and POKE might come later. case READ: case WRITE: - cmddata[0]=spitrans8(cmddata[0]); - txdata(app,verb,1); + P5OUT&=~SS; //Drop !SS to begin transaction. + for(i=0;i