有没有人做过lm3s和MSP430的I2C通信?
2019-03-24 15:28发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
我现在正在做lm3s8962和MSP430F2013的I2C通信,流程是这样的:lm3s8962做主机,MSP430f2013做从机,8962定时发出接收数据请求,F2013发出两个数据。F2013参考的是msp430x20x3_usi_09.c的程序,并且DCO的频率设为8MHz;lm3s8962的程序是使用库函数,自己写的。双芯片通信时,用示波器能够打到波形,波形中的数据位是正确的,但是数据位和我设定的值不一样。示波器打的时序图中,可以看出第二个数据位后没有应答位。请问下高手,问题最有可能出在哪儿呢?
I2CMasterSlaveAddrSet(I2C0_MASTER_BASE,MSP430F2013_ADDR,true);
I2CMasterControl(I2C0_MASTER_BASE, I2C_MASTER_CMD_BURST_RECEIVE_START); while(I2CMasterBusy(I2C0_MASTER_BASE)) { } datah=I2CMasterDataGet(I2C0_MASTER_BASE); //读取到的高位 I2CMasterControl(I2C0_MASTER_BASE,I2C_MASTER_CMD_BURST_RECEIVE_FINISH); while(I2CMasterBusy(I2C0_MASTER_BASE)) { } datal=I2CMasterDataGet(I2C0_MASTER_BASE);//读取到的低位
此帖出自
小平头技术问答
一周热门 更多>