MiMicのピンインスタンス生成方法いろいろ

MiMicでマイコンのピンをインスタンス化する方法には、3種類の方法があります。

オーソドックスな方法

物理デバイスの上に、包括関係に沿ってインスタンスを重ねていく方法です。この方法はMCUの物理デバイスと1:1に対応するので、確実に定義できる反面、MCUを良く知らないと難しく感じます。

  function case1()
  {
    var  mcu=new LPCXpresso1769.Mcu("192.168.0.39");
    //ADCペリフェラルを作る。
    var adc=new LPCXpresso1769.Adc(mcu);
    //ペリフェラルからピンに接続
    var adpin=new LPCXpresso1769.AdcPin(adc,LPCXpresso1769.P0[23]);
    //GPIOペリフェラルを作る。
    var gpio=new LPCXpresso1769.Gpio(mcu);
    //ペリフェラルからピンに接続
    var gpiopin=
new LPCXpresso1769.GpioPin(gpio,LPCXpresso1769.P0[0]);
    alert(adpin.getValue()+","+gpiopin.getValue());
  }

仕様書ベースな方法

仕様書を読んで機能の一覧表を知っていれば、機能名からピンを作ることが出来る方法です。目的の機能を確実に手に入れられますが、「どの機能がどの物理ピンに出てくるのか」は知っている必要が有ります。

  function case2()
  {
    //MCU生成
    var  mcu=new LPCXpresso1769.Mcu("192.168.0.39");
    //機能名でPINを作る。(物理PINは自動)
    var gpiopin=mcu.getPin("GPIO0.0");
    //機能名でPINを作る。(物理PINは自動)
    var adpin=mcu.getPin("AD0.0");
    alert(adpin.getValue()+","+gpiopin.getValue());
  }

物理PINに機能を割り当てる方法

目の前に見えるピンに、欲しい機能を割り当ててみようという、投機的な方法です。一番直感的ですが、PINと機能の組み合わせによっては、出来ないこともあります。

  function case3()
  {
    //MCU生成
    var  mcu=new LPCXpresso1769.Mcu("192.168.0.39");
    //PIN0[0]にGPIO機能を割り当て
    var gpiopin=mcu.getPin(LPCXpresso1769.P0[0],"GPIO");
    //PIN0[23]にAD機能を割り当て
    var adpin=mcu.getPin(LPCXpresso1769.P0[23],"AD");
    alert(adpin.getValue()+","+gpiopin.getValue());
  }

3種類のコードは、全て「同じ結果」をユーザーに与えてくれます。
(GPIOピンと、ADコンバータピンを1本づつインスタンス化します。)
皆様は、どの方法がお好みですか?
ご意見は、twitterの@nyatlaまでお知らせください。

Comments are closed, but trackbacks and pingbacks are open.