PTED &= ~0x04; // SPI "chip enable" for modem/radio SPID = address; // Write address byte while (!(SPIS & 0x20)); // wait for SPI ready SPID =(unsigned char)(data>>8); // Write MSByte of data while (!(SPIS & 0x20)); // wait for SPI ready SPID = (unsigned char) data; // Write LSByte of data while (!(SPIS & 0x20)); // wait for SPI ready for(i=0; i<8; i++) { // small delay __asm nop; } SPIS; SPID; PTED |= 0x04; // release SPI "chip enable" for modem/radio
__asm TPA; __asm STA statusRegSave;__asm SEI;PTED &= ~0x04; // SPI "chip enable" for modem/radioSPID=address; for(i=0; i<8; i++) { // small delay __asm nop; }SPIS;SPID; for(i=0; i<8; i++) { // small delay __asm nop; }SPIS;data=SPID;data = data<<8; for(i=0; i<8; i++) { // small delay __asm nop; }SPIS;data+=SPID;PTED |= 0x04; // release SPI "chip enable" for modem/radio__asm LDA statusRegSave;__asm TAP;
Not sure about the Endianess on the read data.
Hope this helps,
- Ware