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.
请教下各位大神,公司需要用I2C操作片外eeprom,板子是tms570 1227
1.stop condition的中断和接收发送中断分不清 stop中断具体有什么作用
在我的理解中,如果是发送 每次设定了data count,当那个多数据发送完毕后,系统自动产生一个stop condition。那此时stop condition的产生时候可以认为发送完成了呢?
2. 如果我使用发送和接收中断 我还需要进行 i2cIsBusBusy(i2cREG1) i2cIsStopDetected(i2cREG1) i2cIsMasterReady(i2cREG1) 这三个操作吗,是否可以认为进入发送或者接收中断后 bus处于free master也ready了 stopcondition也被detect到了???
3. 看技术手册 有个地方描述互相冲突 :(1)Generated when the transmitted data has been copied from the data transmit
register (I2CDXR) into the transmit-shift register (I2CXSR) page1768
(2)A transmit interrupt is generated just after the START condition in master transmitter mode page1768
一个说发送中断是 数据从DXR转移到了XSR后产生,一个是START condition之后产生。 到底怎么理解?
如果我在程序里面是 这样
岂不是 第一句话i2cSetStart(i2cREG1); 就要进入了发送中断了??
问题比较多 感谢大神的解答 谢谢
感谢解答
还有一些问题,
1、slave address是自动发出去的吗? 如果不是发送函数是哪一个?
还是自己用sendbyte 函数发? 假如我的slave add是0x1234,现在是transmitter,如果自己要将0x1234和方向用sendbyte,那操作寄存器又有什么意义呢?
2、 start condition bit 和 stop condition bit是自动发的(set对应的寄存器之后)? 当自己是receiver时 ,acknowledge bit也是自动发送的吧?
感谢解答
感谢解答
还有一些问题,
1、slave address是自动发出去的吗? 如果不是发送函数是哪一个?
还是自己用sendbyte 函数发? 假如我的slave add是0x1234,现在是transmitter,如果自己要将0x1234和方向用sendbyte,那操作寄存器又有什么意义呢?
2、 start condition bit 和 stop condition bit是自动发的(set对应的寄存器之后)? 当自己是receiver时 ,acknowledge bit也是自动发送的吧?
感谢解答