X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Fapps%2Fspi%2Fspi.c;h=785c47600f73ee7f860ef3e88153e1952795010d;hp=5e762050839135e5c4fc270bee9a95108e3f59a2;hb=e858c51543d928d837578d3e03dd5686e888220e;hpb=fd966b09563a102ed42b1613e7fa5e934eed2656 diff --git a/firmware/apps/spi/spi.c b/firmware/apps/spi/spi.c index 5e76205..785c476 100644 --- a/firmware/apps/spi/spi.c +++ b/firmware/apps/spi/spi.c @@ -31,10 +31,10 @@ //! Set up the pins for SPI mode. -unsigned char spisetup(){ +void spisetup(){ + P5OUT|=SS; P5DIR|=MOSI+SCK+SS; P5DIR&=~MISO; - P5OUT|=SS; } //! Read and write an SPI bit. @@ -66,6 +66,13 @@ unsigned char spitrans8(unsigned char byte){ return byte; } +//! Enable SPI writing +void spiflash_wrten(){ + P5OUT&=~SS; //Drop !SS to begin transaction. + spitrans8(0x06);//Chip Erase + P5OUT|=SS; //Raise !SS to end transaction. +} + //! Handles a monitor command. void spihandle(unsigned char app, unsigned char verb, @@ -76,11 +83,42 @@ void spihandle(unsigned char app, case READ: case WRITE: P5OUT&=~SS; //Drop !SS to begin transaction. + for(i=0;i