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.

http://www.mcugear.com/en/

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で使用する場合のライブラリです。 ライブラリの中に配線情報が入っているため、回路に差し込むだけで簡単に使用できます。

http://www.mcugear.com/

使い方

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;
            
        }

    }
}

All wikipages