nkopp 0 Posted November 12, 2016 Share Posted November 12, 2016 I have a project using an MLX90614 that I have prototyped on an Arduino. Now I want to move to the CC3200 to add WiFi support. I've been fighting with the I2C for a few days now and could use some help. A few notes: The built-in I2C sensors (BMA222 and TMP006) work fine in the default configuration. The max speed for the MLX90614 is 100 KHz, but the default for the CC3200 is 400 KHz The MLX90614 is technically SMBus, but it works flawlessly with the Wire library on a standard Arduino. I have modified the Wire library in the hardware/cc3200 folder to call MAP_I2CMasterInitExpClk(I2C_BASE, F_CPU, false) instead of MAP_I2CMasterInitExpClk(I2C_BASE, F_CPU, true). According to the code in driverlib/i2c.c, this should cause the bus to run at 100 KHz. This change does not make the MLX90614 work, but it does cause the other two sensors (BMA222 and TMP006) stop functioning properly. (The TMP006 fails to be recognized, and the BMA222 returns incorrect data - x, y, and z all seem to show the x value or the y value... not sure which.) After searching the web and this forum, this I've gotten this far but now run into a dead end. Does anybody have experience with I2C on the CC3200 with Energia and a slower-speed bus? I'd like to avoid rewriting my project in CCS if possible. Thanks much! -Nathan Quote Link to post Share on other sites
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.