请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
部件号:MSP430G2553 你(们)好
我试图在此 主题中发布我的问题,但是,它被锁定了!
我正在通过SPI将MSP430G2553连接到ADXL345加速计,并使用此代码设置ADXL345:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void SPI_write(void){
P3OUT &=~CS; // bit 3.7 是CS
while (!(IFG2&UCA0TXIFG));//等待TXBUF ready
UCA0TXBUF = 0x2D;//我们要在
(!(IFWrite&UCA0TXIFG)时写入电源寄存器;//等待TXBUF ready UCA0TXBUF = 0x2D;//
待机状态= 0x00-----------------待机状态下--
while (!(IFG2&UCA0TXIFG));//等待TXBUF READY
UCA0TXIFF = 0x31;//我们要在ADXL345处于待机模式
时写入数据格式寄存器,而(!(IFG2&UCA0TXIFG));//等待TXBUF READY UCA0TCA0TF-写入UCA0T0F---
-----------------------------------------------------------------------------------------------------------
while (!(IFG2&UCA0TXIFG));//等待TXBUF就绪
UCA0TXBUF = 0x2C;//我们要在
(!(IFG2&UCA0TXIFG))时写入BW_RATE寄存器;//等待TXBUF就绪
UCA0TXUF = 0x09; //将0x09写入BW_RATE寄存器以将ACC设置为25Hz数据速率(数据表中的表7 p#14)
//将ACC设置为此加速采样速率应使其消耗90microAmp。
//参见数据表第5页上关于唤醒时间的注释7//------------------
while (!(IFG2&UCA0TXIFG));//等待TXBUF READY
UCA0TXBUF = 0x2d;//我们要在
(!(IFG2&UCA0TXIFG))中写入电源寄存器;//等待TXBUF READY
UCA0TXBUF = 0x08;//要在电源寄存器中写入,---—————
delay_ms(10);
while (!(UCB0STAT&UCBUSY)=0);
IFG2 &=~UCA0RXIFG;
P3OUT |= CS;
}//////////////////////////////////
我正在恢复数据。 但它与ADXL345连接到Arduino时不同。
例如, 当加速度计仍在扫描床上时,我得到的是0.79 G,而不是Z轴的1 G
任何人都可以帮我解决这个问题
谢谢你