此帖出自微控制器 MCU论坛
最新回复
我在采用该程序的时候发现这样的问题:
采用先写,延时,在读出。发现这样的问题:
写入数据函数->延时->断点-->读函数->延时,程序运行正常,结果正确;
如采用这样的步骤:
写入数据函数->延时-->读函数->延时,程序不正确:程序停留在:
while(I2caRegs.I2CSTR.bit.XRDY == 0){}; 处。
I2caRegs.I2CSAR = I2C_SLAVE_ADDR; //Set slave address
I2caRegs.I2CCNT = 2; //Set count to 2 address bytes
I2caRegs.I2CDXR = I2C_EEPROM_HIGH_ADDR;
I2caRegs.I2CMDR.bit.TRX = 1; //Set to Transmit mode
I2caRegs.I2CMDR.bit.MST = 1; //Set to Master mode
I2caRegs.I2CMDR.bit.FREE = 1; //Run in FREE mode
I2caRegs.I2CMDR.bit.STP = 0; //Dont release the bus after Tx
I2caRegs.I2CMDR.bit.STT = 1; //Send the start bit, transmission will follow
while(I2caRegs.I2CSTR.bit.XRDY == 0){}; //Do nothing till data is shifted out
I2caRegs.I2CDXR = I2C_EEPROM_LOW_ADDR;
详情
回复
发表于 2016-4-15 16:29
| ||
|
||
| |
|
|
此帖出自微控制器 MCU论坛
| ||
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
| |
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
=================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰 |
|
| |
|
|
此帖出自微控制器 MCU论坛
| ||
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
论坛测评队员
EEWorld Datasheet 技术支持