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.

TMS320F28335: IIC丢失停止位

Part Number: TMS320F28335


问题:

  1. 在iic读的时候,偶发出现停止位丢失的情况

环境:  

  1. F28335 + 3个iic从设备
  2. IIC时钟 400Khz
  3. RM=1 (重复模式)
  4. 停止位发送是在读完最后一个字节后,将STP置位,并等待STP清零 
  5. 停止位丢失的时候,STP被DSP28335正常清零了,并且STR.SCD也置位了
  6. 丢失停止位的时候抓波形发现DSP28335没有发送NACK信号
  7. 停止位丢失的时候尝试了将SDA配置成GPIO,发现SDA可以拉高,代表从设备没有拉死总线

查看了手册发现NACK发送有3种方法,1.NACKMOD置1;2.产生STOP条件.................................  我想问一下是不是必须使用NACKMOD,同时STOP清零是不是不一定代表在总线上发出了停止位?