写了一个通过SPI让MSP430与ADC之间的通信程序。
现在就想简单地测试一下MSP与ADC之间能否正常通信,所以就很简单地向从ADC中读取一个8-bit数据,程序其中一段如下:
//测试MSP是否可以从ADC中读取数据
SET_CLOCK();
SPI_init();
START_SPI();
while(1)
{
while(!(IFG2&UCA0TXIFG));
UCA0TXBUF = READ_STATUS; //READ_STATUS 0x40是写入ADC通信寄存器中的数,表示读取状态寄存器
RX_value = UCA0RXBUF; //读取状态寄存器内容
for(i = 0xFFFF; i > 0; i--);
_NOP();
}
STOP_SPI();
可是我用FET调试的时候,发现UCA0TXBUF = READ_STATUS = 0x40; 但是,UCA0RXBUF 是0x00啊、、应该从ADC中读取它的状态寄存器值0x80啊。
是我的程序有问题么? |