This program is used to interface an Mbed board to Analog devices AD7151- Capacitance to Digital Converter IC, which uses simple I2C protocal for data transfer.This code contains writing to some of the AD7151 registers & reading CDC values
Revision 0:95864d5b2c85, committed 2010-08-05
- Comitter:
- Santhosh
- Date:
- Thu Aug 05 09:11:32 2010 +0000
- Commit message:
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Aug 05 09:11:32 2010 +0000
@@ -0,0 +1,62 @@
+/* This program is used to interface an Mbed board to Analog devices AD7151-
+ Capacitance to Digital Converter IC, which uses simple I2C protocal for data
+ transfer.This code contains writing to some of the AD7151 registers & reading
+ CDC values*/
+
+#include "mbed.h"
+
+int main()
+{
+ I2C cdc(p28, p27); // I2C cdc
+ cdc.frequency(50000); // frequency set
+
+ cdc.start(); // Start condition
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ //Setup Register
+ cdc.write(0x0B); // Setup register Address
+ cdc.write(0xCF); // Data to be written into Setup Register
+ //Configuration Register
+ cdc.start(); // Start condition
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ cdc.write(0x0F); // Configuration Register Address
+ cdc.write(0x31); // Adaptive threshold
+ //cdc.write(0xB1); // For Fixed Threshold Mode
+ //Capdac Register
+ cdc.start(); // Start condition
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ cdc.write(0x11); // CAPDAC register Address
+ cdc.write(0x00); // Data
+ /*Fixed Threshold Register(09 & 0A)
+ cdc.start(); // Start condition
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ cdc.write(0x09); // Fixed Threshold register Address
+ cdc.write(0x00); // Data
+ cdc.write(0xF0); // Data in auto address update*/
+ //Sensitivity Register(09 )
+ cdc.start(); // Start condition
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ cdc.write(0x09); // Sensitivity register Address
+ cdc.write(0x11); // Data
+
+ cdc.start(); // Start condition
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ cdc.write(0x0A); // Setup register Address
+ cdc.write(0x00); // Data
+
+ cdc.stop(); // Stop condition
+ wait(1); // wait 1 second
+
+ while(1)
+ {
+ cdc.start(); // Repeated start
+ cdc.write(0x90); // Address 0x90 write(to write address of AD7151)
+ cdc.write(0x05); // Address pointer to be read
+ cdc.start(); // Stop condition
+ cdc.write(0x91); // Address 0x91 to read(to read address of AD7151)
+ cdc.read(I2C::ACK); // Read contents in Address 0x05
+ cdc.read(I2C::NoACK); // Read contents in Address 0x06
+ cdc.stop(); // Stop condition
+ wait_ms(20);
+ }
+
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Aug 05 09:11:32 2010 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/9114680c05da