Test
Dependencies: mbed
main.cpp
00001 #include "mbed.h" 00002 00003 DigitalOut myled(LED1); 00004 AnalogIn FSR1(p20); 00005 AnalogIn FSR2(p19); 00006 00007 00008 int8_t AD5245_write_result; 00009 00010 float fsr1_value; 00011 float fsr2_value; 00012 int truncated_fsr1_value; 00013 00014 int8_t AD5245_addr = 0x2C; 00015 //TODO: LTC4151 address will be change. 00016 int8_t LTC4151_addr = 0xCE; 00017 00018 char data[2]; 00019 00020 Serial pc(USBTX, USBRX); 00021 00022 I2C i2c(p9,p10); 00023 00024 int msb = 0; 00025 int main() 00026 { 00027 pc.baud(115200); 00028 00029 while(1) { 00030 data[0] = 0x04; 00031 fsr1_value=FSR1.read(); 00032 truncated_fsr1_value=fsr1_value*255; 00033 pc.printf("Truncated Value: %d\n",truncated_fsr1_value); 00034 i2c.start(); 00035 i2c.write(AD5245_addr); 00036 i2c.write(truncated_fsr1_value); 00037 i2c.stop(); 00038 00039 wait(0.01); 00040 #if 1 00041 i2c.start(); // I2C start 00042 i2c.write(0xCE); // I2C slave address - 0xCE 00043 i2c.write(0x04); // I2C slave register address - C_register 02h 00044 i2c.start(); // I2C start 00045 i2c.write(0xCF); // I2C slave address - 0xCE 00046 msb=i2c.read(0); // I2C read with NAK (not-acknowledge) 00047 i2c.stop(); 00048 00049 pc.printf("Msb: %d\n",msb); 00050 #endif 00051 #if 0 00052 data[0] = 0x02; //register we want to read 00053 int ret = i2c.write(LTC4151_addr, data, 1, true); //Write one byte, dont transmit stop condition, check if we get ACK 00054 00055 if (ret == 0) 00056 printf("Succesfull write\n\r"); 00057 else 00058 printf("Returned: %X\n\r", ret); 00059 00060 i2c.read(LTC4151_addr, data, 2); 00061 pc.printf("Byte 1: 0x%x Byte 2: 0x%x\n",data[0],data[1]); 00062 pc.printf("Data = %d\n\r", (data[0]<<8) + data[1]); 00063 #endif 00064 00065 wait(0.5); 00066 if(myled) { 00067 myled = 0; 00068 } else { 00069 myled = 1; 00070 } 00071 } 00072 }
Generated on Sat Jul 16 2022 01:21:13 by
1.7.2