LPC111xマイコンのピン機能は基本的にはGPIOがデフォであり、IOCONFIGレジスタのFUNC=0がGPIOとなっているが、一部そうでないピンがある。特に下記(2)の場合が要注意である。
(1) RESET, SWCLK, SWDIO
RESET, SWCLK, SWDIOのピン(PIO0_0, PIO0_10, PIO1_3)は、こちらの機能がデフォ(FUNC=0)となっており、FUNC=1でGPIOになる。これはまあ当然のことである。
(2) FUNC=0が予約となっているピン
PIO0_11, PIO1_0, PIO1_1, PIO1_2はなぜかFUNC=0が「予約」となっており、FUNC=1でGPIOになる。
LPCXpressoでのコード例
// PIO0_1 は FUNC=0 が GPIO Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO0_1, (IOCON_FUNC0 | IOCON_MODE_INACT)); // PIO1_0 は FUNC=1 が GPIO Chip_IOCON_PinMuxSet(LPC_IOCON, IOCON_PIO1_0, (IOCON_FUNC1 | IOCON_MODE_INACT));