看你这句
for (i = 0xFFF; i > 0; i--); // Time for sl××e to ready
TXBUF1=0X05;
你只对TXBUF1写入一次!
SPI的通过TX的发送来驱动UCLK,也就是说你不发数据,UCLK也不输出!
所以,你发了一次也就没信号了!
你把TXBUF1=0X05变成循环写入,就应该能看到UCLK和SIMO的输出了!
以上问题在SPI收数据时也应格外注意!
另外,你程序中把UTXIFG1标志关掉!这是不太好的!版主说得检查中断位是很必要地!保证了每次发送都是有效地!
还有个地方:中断位的置位是由硬件自动产生的!也就是说buffer一空,中断位就会自动置位!
说得不一定很确切,仅供参考,你试试好了!