AD2ch Module library for MCU Gear with LPC1114. It contains wiring data.
Embed:
(wiki syntax)
Show/hide line numbers
AD2chModuleLPC1114.cpp
00001 00002 #include "mbed.h" 00003 #include "MCUGearALPC1114.h" 00004 #include "MCUGearBaseALPC1114.h" 00005 #include "AD2chModuleLPC1114.h" 00006 00007 AD2chModule::AD2chModule(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 AD2chModule::initAD2ch(MCUGear *mcugear){ 00019 00020 cs = 1; 00021 00022 //12bit SPI DA module---------------- 00023 spi.frequency(2000000); //1MHz 00024 } 00025 00026 int AD2chModule::readADm(MCUGear *mcugear, char ch){ 00027 00028 char sendData; 00029 int whoami[3]; 00030 00031 // spi.frequency(2000000); //1MHz 00032 if(ch == 0){ 00033 sendData = 0x80; 00034 }else if(ch == 1){ 00035 sendData = 0xC0; 00036 }else{ 00037 return -1; 00038 } 00039 00040 //12bit AD Mobdule---------------- 00041 //cs = 1; //reset CS pin 00042 // mcugear->connectModule(); //connect--- 00043 00044 cs = 0; 00045 //FRDM KL25Z is 8-bit format. 00046 whoami[2] = spi.write(0x01);//0000 0001 00047 whoami[2] = spi.write(sendData); 00048 whoami[0] = whoami[2]<<8; 00049 whoami[0] = whoami[0] + spi.write(0x00) - 0xE000;//0000 0000 00050 // whoami[2] = 0;//clear buffer 00051 cs = 1; 00052 // mcugear->disconnectModule(); //disconnect--- 00053 return whoami[0]; 00054 00055 } 00056 00057 int AD2chModule::readADa(MCUGear *mcugear, char ch){ 00058 00059 char sendData; 00060 int whoami[3]; 00061 00062 spi.frequency(2000000); //1MHz 00063 if(ch == 0){ 00064 sendData = 0x80; 00065 }else if(ch == 1){ 00066 sendData = 0xC0; 00067 }else{ 00068 return -1; 00069 } 00070 00071 //12bit AD Mobdule---------------- 00072 cs = 1; //reset CS pin 00073 mcugear->connectModuleA(); //connect--- 00074 00075 cs = 0; 00076 //FRDM KL25Z is 8-bit format. 00077 whoami[2] = spi.write(0x01);//0000 0001 00078 whoami[2] = spi.write(sendData); 00079 whoami[0] = whoami[2]<<8; 00080 whoami[0] = whoami[0] + spi.write(0x00) - 0xE000;//0000 0000 00081 // whoami[2] = 0;//clear buffer 00082 cs = 1; 00083 mcugear->disconnectModule(); //disconnect--- 00084 return whoami[0]; 00085 00086 }
Generated on Sun Jul 17 2022 17:48:11 by 1.7.2