hiyi..
我的主控制器是msp430fr5969,从控制器是ADXL345,我正在使用SPI协议与从控制器通信,这是我的代码.....
当我使用此程序读取设备ID时,我将得到正确的信息,但当读取从属设备中另一个寄存器的值时,我仍然得到相同的设备ID值.....那么如何读取中所有有效寄存器值的值
奴隶...任何人都请帮助我...
P1OUT |= 0x08;//设置为高以取消选择IC P1DIR |= 0x08;//设置为CS for SPI //设置USIB P1SEL |= BIT7 + BIT6 + BIT5; P1SEL2 |= BIT7 + BIT6 + BIT5; UCB0CTL0 |= UCCKPL + UCSB + UNCS // 3引脚,8位SPI master UCB0CTL1 |= UCSSEL_2;// SMCLK UCB0BR0 |= 0x02; UCB0BR1 = 0; UCB0CTL1 &=~UCSWRST;
while (!(UCB0IFG&UCTXIFG)); UCB0TXBUF=0x00;
while (!(UCB0IFG&UCRXIFG)); value=UCB0RXBUF;///这将提供正确的设备ID///
////// 访问如下所示的值时,我仍获得相同的设备ID//
while (!(UCB0IFG&UCTXIFG)); UCB0TXBUF=0X30;//// 这将给出0x02///的值
while (!(UCB0IFG&UCRXIFG)); value=UCB0RXBUF;
//运行上述四行,我仍然得到DEVICEID值//
如果我使用的是伪值,我只会得到一次COREECT值,而且它不是一种通过一直使用伪值进行编程的正确方式。
}



