I having trouble sending data out under interrupts from a buffer. The buffer was declared in xdata and i have a counter that is used to index into it. So when an interrupt occurs, the data is loaded into my SPI tx buffer, ie SPIBUF = txbuffer[index]; index++; All i seem to get is all zero's but if i use the index to send data i get something. ie SPIBUF = index; David
One guess is that txbuffer points to "nowhere". What is being read from the external data bus is only the charge left from a previous access. Try
txbuffer[0] = 0xaa; txbuffer[1] = 0x11; P1 = txbuffer[0];