我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
Seven Han:
请问mcu芯片用的是28035吗?EEPROM呢?
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
ruiping zhao:
回复 Seven Han:
是28035,EEPROM是AT24C32。这个程序是通过进中断实现读写吗,我发现程序没有进中断。单步执行一次之后I2cMsgOut1.MsgStatus=0x11;I2cMsgIn1.MsgStatus=0x20;导致程序一直在跳
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
ruiping zhao:
回复 Seven Han:
han工,你好,我发现程序在全速运行下是执行成功的,可以在watch窗口中看到I2cMsgIn1.MsgBuffer== I2cMsgOut1.MsgBuffer,并且PassCount=2
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
Seven Han:
回复 ruiping zhao:
中断使能了吗?全速运行是成功的,数据有误异常。
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
Xupeng(FAA) He:
回复 ruiping zhao:
手头没有开发板,不过给个小建议。不是所有的调试都适合打断点的,建议输出到console或者通过uart打印
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
user5029276:
回复 ruiping zhao:
你好,请问问题解决了么。
我也遇到同样的问题。
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
user5029276:
回复 Xupeng(FAA) He:
您好,我用的而是F28377S LaunchPad出现了同样的问题。
使用的是C2000ware里device support的例程。只修改了I2C端口。
一直没有进入中断。
不设断点运行SDA,SCL脚一直是高电平。
我没有连接其他硬件。
奇怪的是,我使用C2000WARE下,driverlib里的例程就没有问题。
我在调试I2C程序,用的是TI的D:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\i2c_eeprom程序,注释中说这个 程序可以运行,但是我单步调试时程序一直在for语句中if(I2cMsgOut1.MsgStatus == I2C_MSGSTAT_SEND_WITHSTOP) 和 if (I2cMsgOut1.MsgStatus == I2C_MSGSTAT_INACTIVE)两句之间跳,程序无法读出数据,请问有人遇到过这种情况吗,谢谢。
user5029276:
回复 Seven Han:
您好,我用的而是F28377S LaunchPad出现了同样的问题。
使用的是C2000ware里device support的例程。只修改了I2C端口。
一直没有进入中断。
不设断点运行SDA,SCL脚一直是高电平。
我没有连接其他硬件。
奇怪的是,我使用C2000WARE下,driverlib里的例程就没有问题。
TI中文支持网



