This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好,
我正在使用i2c协议将MSP430FR5969与ADXL345 (加速计)连接起来。 我正在尝试从寄存器0x00读取包含0XE5的数据,但我没有得到任何输出,代码如下所示
#include <MSP4S.h>
易失性无符号字符RXData;
内部主(无效)
{
WDTCTL = WDTPW | WDTHOLD;
//配置GPIO
P1OUT &=~BIT0;//透明的WFP 1.0 输出锁存器
P1DIR || BIT0;//用于LED
P1SEL1 || BIT6 | BIT7;// I2C引脚
//禁用GPIO开机默认高阻抗模式以激活
//以前配置的端口设置
PM5CTL0 &=~LOCKLPM2;
//为I2C模式配置USI_B0
UCB0CTLW0 |= UCSWRST;//已启用软件重置
UCB0CTLW0 |= UCMODE_3| UCMST | UCSYNC;// I2C模式,主模式,同步
UCB0BRW = 0x0008;//波特率= SMCLK / 8
UCB0I2CSA = 0x0053;//从属地址
UCB0CTL1 &=~UCSWRST;
UCB0IE |= UCRXIE | UCNACKIE;
同时(1)
{
__delay_cycles (2000年);
// while (UCB0CTL1和UCTXSTP);//确保已发送停止条件
UCB0CTL1 || UCTXSTP;// I2C停止条件
UCB0CTL1 || UCT|UCTXSTT;// I2C启动条件
UCB0TXBUF=0XA6;//从属地址+写入
while (UCB0STATW&=UCBUSY);
__delay_cycles (2000年);
UCB0TXBUF=0x00;//注册地址
while (UCB0STATW&=UCBUSY);
__delay_cycles (2000年);
UCB0CTL1 || UCT|UCTXSTT;// I2C启动条件
UCB0TXBUF=0XA7;//从属地址+读取
while (UCB0STATW&=UCBUSY);
__delay_cycles (2000年);
UCB0CTL1 &=~UCTR;
RXData = UCB0RXBUF;
__bis_sr_register(GIE);//输入带中断的LPM0
}
}