msp430f2132硬件i2c 读传感器数据无应答

2019-03-24 14:04发布

想要用msp430 f2132读adxl345加速度计的数据,用的是自带的硬件i2c,遇到的问题是430发送start条件后,UCTXSTT不会清零,传感器无应答。代码是修改的ti提供的例程,部分代码: while (1) { UCB0I2CSA = 0x53; UCB0CTL1 |= UCTXSTT; while (UCB0CTL1 & UCTXSTT); //UCTXSTT没有清零 __bis_SR_register(CPUOFF + GIE); } }问题是i2c要求主机发送start后还要发送7位从机地址+写(0),还需要发送寄存器地址,然后再设置为读,可是TI给的例程中没有这一步,是因为硬件i2c可以自动在发送start条件后发送8位写地址吗? 那为什么这个STT无法清零? 还有应该如何看sda和sclk的波形?有示波器但怎么抓那几十微秒的波形呢? 新手刚接触msp430,所以问的有点多,望大神解答。。 [ 本帖最后由 carmackzhang 于 2012-7-7 21:39 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
Triton.zhang
2019-03-25 03:20
主接收模式下设置UCTXSTT会自动发送7位地址+写。
STT标志在从机给出ACK信号后自动清零。
你如果检测不到STT位清零可能是从机没有给出ACK信号

一周热门 更多>

相关问题

    相关文章