Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 6 months ago.
Issue with FRDM-KL46Z I2C
I am experimenting with DS1621 using library written by 'D Brono' with Mbed 1768 and FRDM-KL46Z By changing the I2C pins accordingly to each board, using the same code:
#include "mbed.h" #include "ds1621.h" #define DS1621_ADDR 0 // I2c DS1621 address is 0x04 Serial pc(USBTX, USBRX); // Declare usb (see screen /dev/ttyUSB0 on linux) I2C i2c(p9, p10); // Declare I2C for LPC1768 //I2C i2c(D7,D6); // Declare I2C for FRDM-KL46Z DS1621 ds(&i2c, DS1621_ADDR); // Declare ds1621 throught i2c interface int main() { i2c.frequency(5000); //5khz pc.printf("-----------------------\n\rMain\n\r"); float temp = 0.0; ds.init(DS1621_ADDR); while (1) { temp = ds.read(DS1621_ADDR); pc.printf("Temperature=%3.1f C\n\r",temp); pc.printf("Temperature=%3.1f F\r\n\n",temp *9/5 + 32 ); wait(2.0); } }
It works correctly with LPC1768 but not with FRDM-KL46Z. I have tried A4/5, D7/6 and D14/15, still didn't work. FRDM board kept giving me 0C/32F.
Could someone help/suggest ? Many thanks. samira
I see you are using 5kHz. Can you test the same freq with on board accelerometer?
posted by Martin Kojtal 18 May 2014I will give it a try and will report back the result. Thanks.
posted by samira samilan 18 May 2014I use this code
<<code>>
int main(void) {
MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); PwmOut rled(LED_RED); PwmOut gled(LED_GREEN); PwmOut bled(LED_BLUE);
while (true) { rled = 1.0 - abs(acc.getAccX()); gled = 1.0 - abs(acc.getAccY()); pc.printf( "X %0.2f \r\n", abs(acc.getAccX())); bled = 1.0 - abs(acc.getAccZ()); wait(0.5); } } <</code>
the led glows brighter when I move the board along the x or y axis.
posted by samira samilan 19 May 2014