AD2ch Module library for MCU Gear with LPC1114. It contains wiring data.
AD2chModuleLPC1114.cpp
- Committer:
- Info
- Date:
- 2014-05-06
- Revision:
- 0:0050ff39b5f7
File content as of revision 0:0050ff39b5f7:
#include "mbed.h" #include "MCUGearALPC1114.h" #include "MCUGearBaseALPC1114.h" #include "AD2chModuleLPC1114.h" AD2chModule::AD2chModule(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 AD2chModule::initAD2ch(MCUGear *mcugear){ cs = 1; //12bit SPI DA module---------------- spi.frequency(2000000); //1MHz } int AD2chModule::readADm(MCUGear *mcugear, char ch){ char sendData; int whoami[3]; // spi.frequency(2000000); //1MHz if(ch == 0){ sendData = 0x80; }else if(ch == 1){ sendData = 0xC0; }else{ return -1; } //12bit AD Mobdule---------------- //cs = 1; //reset CS pin // mcugear->connectModule(); //connect--- cs = 0; //FRDM KL25Z is 8-bit format. whoami[2] = spi.write(0x01);//0000 0001 whoami[2] = spi.write(sendData); whoami[0] = whoami[2]<<8; whoami[0] = whoami[0] + spi.write(0x00) - 0xE000;//0000 0000 // whoami[2] = 0;//clear buffer cs = 1; // mcugear->disconnectModule(); //disconnect--- return whoami[0]; } int AD2chModule::readADa(MCUGear *mcugear, char ch){ char sendData; int whoami[3]; spi.frequency(2000000); //1MHz if(ch == 0){ sendData = 0x80; }else if(ch == 1){ sendData = 0xC0; }else{ return -1; } //12bit AD Mobdule---------------- cs = 1; //reset CS pin mcugear->connectModuleA(); //connect--- cs = 0; //FRDM KL25Z is 8-bit format. whoami[2] = spi.write(0x01);//0000 0001 whoami[2] = spi.write(sendData); whoami[0] = whoami[2]<<8; whoami[0] = whoami[0] + spi.write(0x00) - 0xE000;//0000 0000 // whoami[2] = 0;//clear buffer cs = 1; mcugear->disconnectModule(); //disconnect--- return whoami[0]; }