目次
前
次
I/O操作関係レジスタ
LPC1114のピンアサインを見ると、以下。
ピンアサインから、デジタル入出力の他に
割当て機能を判読できます。
ポート0、1の各ピンは、兼用ピンになっているので
GPIO、ADC、MAT、CAP、SPI、IICのどれで使うのかを
どう設定するのか、SFRの内容を見ていきます。
PIO0_2
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- SPIのSSEL
- CT16B0のインプットキャプチャ入力
PIO0_3
レジスタ内のビット構成は、以下。
GPIO以外の機能割当てはありません。
PIO0_4
レジスタ内のビット構成は、以下。
GPIOの他に、IICバス関係の機能割当てがあります。
IICでは、SCL(クロック)の入出力に割当てされ
マスターなら出力、スレーブなら入力となります。
PIO0_5
レジスタ内のビット構成は、以下。
GPIOの他に、IICバス関係の機能割当てがあります。
IICでは、SDA(データ)の入出力に割当てされ
双方向で使われます。
PIO0_6
レジスタ内のビット構成は、以下。
GPIOの他に、現在はSPI関係の機能割当てになっています。
SPIのSCK0(クロック)に割り当てされます。
PIO0_7
レジスタ内のビット構成は、以下。
GPIOの他に、シリアルインタフェースの
制御関係機能を割当て可能。
CTS(Clear To Send)で、入力にできます。
PIO0_8
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- SPIのMISO(Master Input Slave Output)
- CT16B0のコンペアマッチ出力0
PIO0_9
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- SPIのMOSI(Master Output Slave Input)
- CT16B0のコンペアマッチ出力1
PIO0_10
レジスタ内のビット構成は、以下。
GPIOの他に、次の3機能を割当て可能。
- シリアルクロックのSWCLK出力
- SPIのSCK(クロック)
- CT16B0のコンペアマッチ出力2
PIO0_11
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- ADCのチャネル0
- CT32B0のコンペアマッチ出力3
PIO1_0
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- ADCのチャネル1
- CT32B1のインプットキャプチャ入力
PIO1_1
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- ADCのチャネル2
- CT32B1のコンペアマッチ出力0
PIO1_2
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- ADCのチャネル3
- CT32B1のコンペアマッチ出力1
PIO1_3
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- ADCのチャネル4
- CT32B1のコンペアマッチ出力2
PIO1_4
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- ADCのチャネル5
- CT32B1のコンペアマッチ出力3
PIO1_5
レジスタ内のビット構成は、以下。
GPIOの他に、次の2機能を割当て可能。
- シリアルインタフェースのRTS(Request To Send)出力
- CT32B0のインプットキャプチャ入力
PIO1_8
レジスタ内のビット構成は、以下。
GPIOの他に、16ビットのタイマーカウンタ
関係機能を割当て可能。
CT16B1のインプットキャプチャ入力
PIO1_9
レジスタ内のビット構成は、以下。
GPIOの他に、16ビットのタイマーカウンタ
関係機能を割当て可能。
CT16B1のコンペアマッチ出力
ピンに関係するレジスタのデータシートでの記述を
見てきたので、Forthインタプリタが動作している
とき、どんなパラメータ設定になっているのかを
確認してみます。
SFRのアドレスを指定して、16進数で表示すれば
よいでしょう。Forthコードは、以下。
\ assign SFR address PORT0
$4004401C constant PIO0_2
$4004402C constant PIO0_3
$40044030 constant PIO0_4
$40044034 constant PIO0_5
$4004404C constant PIO0_6
$40044050 constant PIO0_7
$40044060 constant PIO0_8
$40044064 constant PIO0_9
$40044068 constant PIO0_10
$40044074 constant PIO0_11
\ assign SFR address PORT1
$40044078 constant PIO1_0
$4004407C constant PIO1_1
$40044080 constant PIO1_2
$40044090 constant PIO1_3
$40044094 constant PIO1_4
$400440A0 constant PIO1_5
$40044014 constant PIO1_8
$40044038 constant PIO1_9
\ show contexts
PIO0_2 @ hex.
PIO0_3 @ hex.
PIO0_4 @ hex.
PIO0_5 @ hex.
PIO0_6 @ hex.
PIO0_7 @ hex.
PIO0_8 @ hex.
PIO0_9 @ hex.
PIO0_10 @ hex.
PIO0_11 @ hex.
PIO1_0 @ hex.
PIO1_1 @ hex.
PIO1_2 @ hex.
PIO1_3 @ hex.
PIO1_4 @ hex.
PIO1_5 @ hex.
PIO1_8 @ hex.
PIO1_9 @ hex.
端末ソフトを利用して、Forthシステムの基板に
コードを渡して、各レジスタの内容を表示させて
みると、以下。
$D0、$C0が設定値なので、GPIOでの利用と理解できます。
タイマーカウンタやA/D変換処理が必要なときは
configrationの再設定をしなければ、使えないと
わかります。
ポート0、1のデフォルトでの指定は、次のように
まとめられます。
P0.2 GPIO
P0.3 GPIO
P0.4 GPIO(open drain)
P0.5 GPIO(open drain)
P0.6 GPIO
P0.7 GPIO
P0.8 GPIO
P0.9 GPIO
P0.10 SWCLK
P0.11 GPIO
P1.0 no function
P1.1 no function
P1.2 no function
P1.3 SWDIO
P1.4 GPIO
P1.5 GPIO
P1.6 RxD
P1.7 TxD
P1.8 GPIO
P1.9 GPIO
目次
前
次