MCUGear 12bit AD 8ch module for LPC1114. It contains wiring data.
Embed:
(wiki syntax)
Show/hide line numbers
AD8chModuleLPC1114.cpp
00001 00002 #include "mbed.h" 00003 #include "MCUGearALPC1114.h" 00004 #include "MCUGearBaseALPC1114.h" 00005 #include "AD8chModuleLPC1114.h" 00006 00007 AD8chModule::AD8chModule(SPI _spi, PinName _cs, MCUGear *mcugear) 00008 :spi(_spi),cs(_cs) { 00009 00010 //miso,mosi,sck,cs 00011 mcugear->setWireA(IOMISO, IO_REG_IN_DIR, 0); 00012 mcugear->setWireA(IOMOSI, IO_REG_OUT_DIR, 1); 00013 mcugear->setWireA(IOSCK, IO_REG_OUT_DIR,2); 00014 mcugear->setWireA(IOCS, IO_REG_OUT_DIR,3); 00015 } 00016 00017 00018 void AD8chModule::initAD8ch(MCUGear *mcugear){ 00019 cs = 1; 00020 spi.frequency(2000000); //1MHz 00021 } 00022 00023 int AD8chModule::readADm(MCUGear *mcugear, char ch){ 00024 00025 char sendData; 00026 int whoami[3]; 00027 char sendData2; 00028 00029 //0000 0000 0110 00 00 [0000 0000 0000] 00030 00031 if(ch < 8){ 00032 sendData = 0x18+ch; //0001 1000 00033 sendData2 = sendData >> 2; 00034 sendData = sendData << 6; 00035 00036 }else{ 00037 return -1; 00038 } 00039 00040 //12bit AD Mobdule---------------- 00041 //mcugear->connectModule(); //connect--- 00042 cs = 0; 00043 spi.write(sendData2); 00044 whoami[2] = spi.write(sendData); 00045 whoami[0] = whoami[2]<<8; 00046 whoami[0] = whoami[0] + spi.write(0x00)-0xE000; //get data from AD device 00047 cs = 1; 00048 //mcugear->disconnectModule(); //disconnect--- 00049 return whoami[0]; 00050 00051 } 00052 00053 int AD8chModule::readADa(MCUGear *mcugear, char ch){ 00054 00055 char sendData; 00056 int whoami[3]; 00057 char sendData2; 00058 00059 //0000 0000 0110 00 00 [0000 0000 0000] 00060 00061 if(ch < 8){ 00062 sendData = 0x18+ch; //0001 1000 00063 sendData2 = sendData >> 2; 00064 sendData = sendData << 6; 00065 00066 }else{ 00067 return -1; 00068 } 00069 00070 //12bit AD Mobdule---------------- 00071 spi.frequency(2000000); //1MHz 00072 cs = 1; //reset CS pin 00073 mcugear->connectModuleA(); //connect--- 00074 cs = 0; 00075 spi.write(sendData2); 00076 whoami[2] = spi.write(sendData); 00077 whoami[0] = whoami[2]<<8; 00078 whoami[0] = whoami[0] + spi.write(0x00)-0xE000; //get data from AD device 00079 cs = 1; 00080 mcugear->disconnectModule(); //disconnect--- 00081 return whoami[0]; 00082 00083 }
Generated on Sun Jul 17 2022 17:49:02 by 1.7.2