MCUGear 12bit AD 8ch module for LPC1114. It contains wiring data.
AD8chModuleLPC1114.cpp
- Committer:
- Info
- Date:
- 2014-05-06
- Revision:
- 0:7a613ce304cd
File content as of revision 0:7a613ce304cd:
#include "mbed.h" #include "MCUGearALPC1114.h" #include "MCUGearBaseALPC1114.h" #include "AD8chModuleLPC1114.h" AD8chModule::AD8chModule(SPI _spi, PinName _cs, MCUGear *mcugear) :spi(_spi),cs(_cs) { //miso,mosi,sck,cs mcugear->setWireA(IOMISO, IO_REG_IN_DIR, 0); mcugear->setWireA(IOMOSI, IO_REG_OUT_DIR, 1); mcugear->setWireA(IOSCK, IO_REG_OUT_DIR,2); mcugear->setWireA(IOCS, IO_REG_OUT_DIR,3); } void AD8chModule::initAD8ch(MCUGear *mcugear){ cs = 1; spi.frequency(2000000); //1MHz } int AD8chModule::readADm(MCUGear *mcugear, char ch){ char sendData; int whoami[3]; char sendData2; //0000 0000 0110 00 00 [0000 0000 0000] if(ch < 8){ sendData = 0x18+ch; //0001 1000 sendData2 = sendData >> 2; sendData = sendData << 6; }else{ return -1; } //12bit AD Mobdule---------------- //mcugear->connectModule(); //connect--- cs = 0; spi.write(sendData2); whoami[2] = spi.write(sendData); whoami[0] = whoami[2]<<8; whoami[0] = whoami[0] + spi.write(0x00)-0xE000; //get data from AD device cs = 1; //mcugear->disconnectModule(); //disconnect--- return whoami[0]; } int AD8chModule::readADa(MCUGear *mcugear, char ch){ char sendData; int whoami[3]; char sendData2; //0000 0000 0110 00 00 [0000 0000 0000] if(ch < 8){ sendData = 0x18+ch; //0001 1000 sendData2 = sendData >> 2; sendData = sendData << 6; }else{ return -1; } //12bit AD Mobdule---------------- spi.frequency(2000000); //1MHz cs = 1; //reset CS pin mcugear->connectModuleA(); //connect--- cs = 0; spi.write(sendData2); whoami[2] = spi.write(sendData); whoami[0] = whoami[2]<<8; whoami[0] = whoami[0] + spi.write(0x00)-0xE000; //get data from AD device cs = 1; mcugear->disconnectModule(); //disconnect--- return whoami[0]; }