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.