2 var DEV=LPCXpresso1769;
\r
5 var isUndef=MiMicLib.isUndef;
\r
10 省略可能です。setOpt関数でピンコンフィギュレーションの初期設定をします。
\r
11 引数値はsetOpt関数を参照して下さい。
\r
12 省略した場合、ピンコンフィギュレーションの初期設定は行われません。
\r
14 DEV.Pin=function Pin(i_mcu,i_pin,i_opt)
\r
18 throw new MiMicException(EE.INVALID_PIN);
\r
21 this._pininfo=DEV.getPinRegInfo(i_pin);
\r
23 if(!isUndef(i_opt)){
\r
27 throw new MiMicException(e);
\r
32 _PINSEL:[0x4002C000,0x4002C004,0x4002C008,0x4002C00C,0x4002C010,null,null,0x4002C0C0,null,0x4002C024,0x4002C028],
\r
33 _PINMODE:[0x4002C040,0x4002C044,0x4002C048,0x4002C04C,0x4002C050,0x4002C054,0x4002C058,0x4002C05C,null,0x4002C064],
\r
34 _PINMODE_OD:[0x4002C068,0x4002C06C,0x4002C070,0x4002C074,0x4002C078],
\r
39 * ポート単位でコンフィギュレーションを実行します。
\r
41 setPort:function setPort(i_opt)
\r
43 throw new MiMicException("not implemented.");
\r
52 BCF_setOpt:function BCF_setOpt(i_opt,i_db)
\r
56 //PINFUNC,PINMODEのbit位置
\r
58 if(!isUndef(i_opt.sel)){
\r
61 bc+=BCF.setBit(this._PINSEL[this._pininfo.s],0x00000003,i_opt.sel,this._pininfo.smb,i_db);
\r
64 if(!isUndef(i_opt.mode)){
\r
65 if(this._pininfo.m==null){
\r
66 throw new MiMicException(EE.INVALID_CFG,"The pin does not support PINMODE. pininfo.");
\r
68 bc+=BCF.setBit(this._PINMODE[this._pininfo.m],0x00000003,i_opt.mode,this._pininfo.smb,i_db);
\r
71 if(!isUndef(i_opt.od)){
\r
72 if(this._pininfo.o==null){
\r
73 throw new MiMicException(EE.INVALID_CFG,"The pin does not support PINMODE_OD. pininfo.");
\r
75 bc+=BCF.setBit(this._PINMODE_OD[this._pininfo.o],0x00000001,i_opt.od,this._pininfo.ob,i_db);
\r
79 throw new MiMicException(e);
\r
83 * ピン1個のコンフィギュレーション実行します。
\r
85 コンフィギュレーションレジスタにセットする連想配列を指定します。不要なパラメタは省略してください。
\r
86 {sel:PIN_SELレジスタの値(2bit),mode:PIN_MODEレジスタの値(2bit),od:PIN_MODE_ODレジスタの値(1bit}
\r
90 setOpt:function setOpt(i_opt)
\r
94 var bc=this.BCF_setOpt(i_opt,db);
\r
96 throw new MiMicException("i_opt is empty or invalid.");
\r
99 this._mcu.callMiMicWithCheck(bc+BCF.END,db);
\r
101 throw new MiMicException(e);
\r