DA module library for MCU Gear with LPC1114FN28. This library contains wiring setting function.
DAmoduleLPC1114
(日本語は英語の次に書いてあります。)
This library is for MCU Gear 12bit DA module with LPC1114FN28. You do not need thik about wiring to DA module. It contain wiring setting function.
How to use it?
include
#include "mbed.h" #include "MCUGearBaseALPC1114.h" #include "MCUGearALPC1114.h" #include "commonALPC1114.h" #include "DAmoduleLPC1114.h"
You need SPI bus, cs pin, dout1 pin and I2C bus.
bus
SPI spi(dp2, dp1, dp6); // mosi, miso, sclk DigitalOut cs(dp25); //for SPI communications DigitalOut Dout1(dp26);
make MCU Gear instance.
MCU Gear instance
MCUGear DAM(dp5, dp27, N_SCL_SCL_SCL); //DA Module
Save location data in the instance.
DAmodule instance
DAM.detectModule(); //save location data in MCUGear class.
make DAmodule instance.
DAmodule instance
DAmodule myDA(spi,dp25,dp26,&DAM); //make instance for DA module
There are 2 type of DA function. These are same operation,
1, separately connect (you can check the operation separately.)
1, separately connect
myDA.initDA(&DAM); DAM.connectModuleA(); myDA.writeDAm(&DAM, data); DAM.disconnectModule();
2, automatically connect (same as separately connect )
1, manually connect
myDA.writeDAa(&DAM, data);
The sample progarm is here.
sample
#include "mbed.h" #include "MCUGearBaseALPC1114.h" #include "MCUGearALPC1114.h" #include "commonALPC1114.h" #include "DAmoduleLPC1114.h" Serial pc(dp16, dp15); // tx, rx SPI spi(dp2, dp1, dp6); // mosi, miso, sclk DigitalOut cs(dp25); //for SPI communications MCUGear DAM(dp5, dp27, N_SCL_SCL_SCL); //DA Module //output pins = P0_3, P0_7, P0_11, P1_0, P1_1, P1_2, P1_4, P1_5 DigitalOut Dout1(dp26); DigitalOut Dout2(dp28); DigitalOut Dout3(dp4); DigitalOut Dout4(dp9); DigitalOut Dout5(dp10); DigitalOut Dout6(dp11); DigitalOut Dout7(dp14); DigitalOut Dout8(dp15); //inputpins = P1_8, P1_9 DigitalIn Din1(dp17); DigitalIn Din2(dp18); int main() { pc.printf("Hello World!\r\n"); wait(1); initBase(); //initialize Baseboard DAM.detectModule(); //save location data in MCUGear class. DAmodule myDA(spi,dp25,dp26,&DAM); //make instance for DA module int data = 0x00; int pm = 1; while(1) { //automatically connect myDA.writeDAa(&DAM, data); //automatically initDA(), connectA() and disconnect() data = data + 10 * pm; wait(0.001); if(data > 0xfff){ data = 0xfff; pm = -1; }else if(data < 0){ data = 0; pm = 1; } } }
このライブラリはMCU Gear の12bit DA モジュールをLPC1114で使用する場合のライブラリです。 ライブラリの中に配線情報が入っているため、回路に差し込むだけで簡単に使用できます。
使い方
include
#include "mbed.h" #include "MCUGearBaseALPC1114.h" #include "MCUGearALPC1114.h" #include "commonALPC1114.h" #include "DAmoduleLPC1114.h"
SPI、cs, dout1 , I2Cを準備します。
bus
SPI spi(dp2, dp1, dp6); // mosi, miso, sclk DigitalOut cs(dp25); //for SPI communications DigitalOut Dout1(dp26);
MCU Gear のインスタンスを作ります。
MCU Gear instance
MCUGear DAM(dp5, dp27, N_SCL_SCL_SCL); //DA Module
次に接続位置を保存します。
Save location data
DAM.detectModule(); //save location data in MCUGear class.
DAモジュール のインスタンスを作り先ほどのインスタンスに渡します。
DAmodule instance
DAmodule myDA(spi,dp25,dp26,&DAM); //make instance for DA module
ライブラリには2つの種類がありますが、処理をバラバラに行いたい場合と、まとめて一行で行いたい場合とで使い分けてください。 結果は同じものです。
1, separately connect (you can check the operation separately.)
1, separately connect
myDA.initDA(&DAM); DAM.connectModuleA(); myDA.writeDAm(&DAM, data); DAM.disconnectModule();
2, automatically connect (same as separately connect )
1, manually connect
myDA.writeDAa(&DAM, data);
以下、サンプルプログラムです。
sample
#include "mbed.h" #include "MCUGearBaseALPC1114.h" #include "MCUGearALPC1114.h" #include "commonALPC1114.h" #include "DAmoduleLPC1114.h" Serial pc(dp16, dp15); // tx, rx SPI spi(dp2, dp1, dp6); // mosi, miso, sclk DigitalOut cs(dp25); //for SPI communications MCUGear DAM(dp5, dp27, N_SCL_SCL_SCL); //DA Module //output pins = P0_3, P0_7, P0_11, P1_0, P1_1, P1_2, P1_4, P1_5 DigitalOut Dout1(dp26); DigitalOut Dout2(dp28); DigitalOut Dout3(dp4); DigitalOut Dout4(dp9); DigitalOut Dout5(dp10); DigitalOut Dout6(dp11); DigitalOut Dout7(dp14); DigitalOut Dout8(dp15); //inputpins = P1_8, P1_9 DigitalIn Din1(dp17); DigitalIn Din2(dp18); int main() { pc.printf("Hello World!\r\n"); wait(1); initBase(); //initialize Baseboard DAM.detectModule(); //save location data in MCUGear class. DAmodule myDA(spi,dp25,dp26,&DAM); //make instance for DA module int data = 0x00; int pm = 1; while(1) { myDA.writeDAa(&DAM, data); //automatically initDA(), connectA() and disconnect() data = data + 10 * pm; wait(0.001); if(data > 0xfff){ data = 0xfff; pm = -1; }else if(data < 0){ data = 0; pm = 1; } } }