DA module library for MCU Gear with LPC1114FN28. This library contains wiring setting function.
DAmoduleLPC1114.cpp@0:177e80bbbd3b, 2014-05-05 (annotated)
- Committer:
- Info
- Date:
- Mon May 05 10:40:11 2014 +0000
- Revision:
- 0:177e80bbbd3b
DA module library for MCU Gear with LPC1114FN28 mbed.; This library contain wiring setting for DA module.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Info | 0:177e80bbbd3b | 1 | |
Info | 0:177e80bbbd3b | 2 | #include "mbed.h" |
Info | 0:177e80bbbd3b | 3 | #include "MCUGearALPC1114.h" |
Info | 0:177e80bbbd3b | 4 | #include "MCUGearBaseALPC1114.h" |
Info | 0:177e80bbbd3b | 5 | #include "DAmoduleLPC1114.h" |
Info | 0:177e80bbbd3b | 6 | |
Info | 0:177e80bbbd3b | 7 | DAmodule::DAmodule(SPI _spi, PinName _cs, PinName _dout1, MCUGear *mcugear) |
Info | 0:177e80bbbd3b | 8 | :spi(_spi),cs(_cs), dout1(_dout1) { |
Info | 0:177e80bbbd3b | 9 | |
Info | 0:177e80bbbd3b | 10 | //Dout,mosi,sck,cs |
Info | 0:177e80bbbd3b | 11 | mcugear->setWireA(IOout1, IO_REG_OUT_DIR, 0); |
Info | 0:177e80bbbd3b | 12 | mcugear->setWireA(IOMOSI, IO_REG_OUT_DIR, 1); |
Info | 0:177e80bbbd3b | 13 | mcugear->setWireA(IOSCK, IO_REG_OUT_DIR,2); |
Info | 0:177e80bbbd3b | 14 | mcugear->setWireA(IOCS, IO_REG_OUT_DIR,3); |
Info | 0:177e80bbbd3b | 15 | } |
Info | 0:177e80bbbd3b | 16 | |
Info | 0:177e80bbbd3b | 17 | |
Info | 0:177e80bbbd3b | 18 | void DAmodule::initDA(MCUGear *mcugear){ |
Info | 0:177e80bbbd3b | 19 | |
Info | 0:177e80bbbd3b | 20 | cs = 1; |
Info | 0:177e80bbbd3b | 21 | dout1=1; //reset ratch signal |
Info | 0:177e80bbbd3b | 22 | |
Info | 0:177e80bbbd3b | 23 | //12bit SPI DA module---------------- |
Info | 0:177e80bbbd3b | 24 | spi.frequency(20000000); //10MHz |
Info | 0:177e80bbbd3b | 25 | } |
Info | 0:177e80bbbd3b | 26 | |
Info | 0:177e80bbbd3b | 27 | void DAmodule::writeDAm(MCUGear *mcugear, int data){ |
Info | 0:177e80bbbd3b | 28 | |
Info | 0:177e80bbbd3b | 29 | //12bit SPI DA module---------------- |
Info | 0:177e80bbbd3b | 30 | //DA signl uses the data of AD 0ch. |
Info | 0:177e80bbbd3b | 31 | //cs = 1; |
Info | 0:177e80bbbd3b | 32 | //dout1=1; //reset ratch signal |
Info | 0:177e80bbbd3b | 33 | |
Info | 0:177e80bbbd3b | 34 | //12bit SPI DA module---------------- |
Info | 0:177e80bbbd3b | 35 | //spi.frequency(20000000); //10MHz |
Info | 0:177e80bbbd3b | 36 | //connection |
Info | 0:177e80bbbd3b | 37 | //mcugear->connectModuleA(); //connect--- |
Info | 0:177e80bbbd3b | 38 | cs = 0; |
Info | 0:177e80bbbd3b | 39 | spi.write((0x30)+((data>>8)&0x0F));//write 0011 0000 |
Info | 0:177e80bbbd3b | 40 | spi.write(data&0xFF);//write 0011 1000 0000 0000 |
Info | 0:177e80bbbd3b | 41 | |
Info | 0:177e80bbbd3b | 42 | wait_us(1); //over 15nsec |
Info | 0:177e80bbbd3b | 43 | cs = 1; //CS high |
Info | 0:177e80bbbd3b | 44 | wait_us(1); //over 40nsec |
Info | 0:177e80bbbd3b | 45 | dout1=0; //ratch for DA out enable |
Info | 0:177e80bbbd3b | 46 | wait_us(1); //over 100nsec |
Info | 0:177e80bbbd3b | 47 | dout1=1; //reset ratch signal |
Info | 0:177e80bbbd3b | 48 | //mcugear->disconnectModule(); //disconnect--- |
Info | 0:177e80bbbd3b | 49 | //wait_us(1); //wait after disconnect |
Info | 0:177e80bbbd3b | 50 | } |
Info | 0:177e80bbbd3b | 51 | |
Info | 0:177e80bbbd3b | 52 | void DAmodule::writeDAa(MCUGear *mcugear, int data){ |
Info | 0:177e80bbbd3b | 53 | |
Info | 0:177e80bbbd3b | 54 | //12bit SPI DA module---------------- |
Info | 0:177e80bbbd3b | 55 | //DA signl uses the data of AD 0ch. |
Info | 0:177e80bbbd3b | 56 | cs = 1; |
Info | 0:177e80bbbd3b | 57 | dout1=1; //reset ratch signal |
Info | 0:177e80bbbd3b | 58 | |
Info | 0:177e80bbbd3b | 59 | //12bit SPI DA module---------------- |
Info | 0:177e80bbbd3b | 60 | spi.frequency(20000000); //10MHz |
Info | 0:177e80bbbd3b | 61 | //connection |
Info | 0:177e80bbbd3b | 62 | mcugear->connectModuleA(); //connect--- |
Info | 0:177e80bbbd3b | 63 | cs = 0; |
Info | 0:177e80bbbd3b | 64 | spi.write((0x30)+((data>>8)&0x0F));//write 0011 0000 |
Info | 0:177e80bbbd3b | 65 | spi.write(data&0xFF);//write 0011 1000 0000 0000 |
Info | 0:177e80bbbd3b | 66 | |
Info | 0:177e80bbbd3b | 67 | wait_us(1); //over 15nsec |
Info | 0:177e80bbbd3b | 68 | cs = 1; //CS high |
Info | 0:177e80bbbd3b | 69 | wait_us(1); //over 40nsec |
Info | 0:177e80bbbd3b | 70 | dout1=0; //ratch for DA out enable |
Info | 0:177e80bbbd3b | 71 | wait_us(1); //over 100nsec |
Info | 0:177e80bbbd3b | 72 | dout1=1; //reset ratch signal |
Info | 0:177e80bbbd3b | 73 | mcugear->disconnectModule(); //disconnect--- |
Info | 0:177e80bbbd3b | 74 | } |