From: travisutk Date: Fri, 5 Jun 2009 14:32:16 +0000 (+0000) Subject: !SS is now dropped and raised per transaction. X-Git-Url: http://git.rot13.org/?p=goodfet;a=commitdiff_plain;h=fd966b09563a102ed42b1613e7fa5e934eed2656 !SS is now dropped and raised per transaction. A transaction may now be multiple bytes. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@29 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- diff --git a/firmware/apps/spi/spi.c b/firmware/apps/spi/spi.c index 2b53914..5e76205 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