LPC11U37/401を試用。(マルツパーツのLQFP48パッケージ)
ポイント
- 12MHzの外部水晶発振子を使う。USB機能には必須
- USBのD-を3.3Vにプルアップする。3番ピン。
LPCXpressoでは以下のサンプルコードを使用。cf.http://nxp-lpc.com/lpc_micon/cortex-m0/lpc11u00/
サンプルコード/ LPCXpresso LPC11Uxx [LPC1100]CMSIS2.0 + ペリファラル・ドライバ。USBのサンプルはLPC11U2x/LPC11U3のROM内のUSBxドライバを使用しています。
ライブラリが競合する場合があるので必ず空のワークスペースにインポートする。
各プロジェクトのreadme.txt通りに設定する。
C/C++ Build>MCU Settingsで実際に使うMCUに変更すること。
USB_ROM_MSCプロジェクト OK →マスストレージデバイスとして認識される。
USB_ROM_CDCプロジェクト OK だが ReadMe.txtに書かれている情報とは違いドライバファイルがプロジェクト内に無いので以下のサンプル内にあるドライバファイルを修正して使った。(修正済みのドライバファイル→LPC11Uxx_vcom_XP_w7)
USB複合デバイス for LPC11Uxx [LPC1100]HID, MSC, CDC, DFU。このサンプルではLPC11U2x/3xのROM内のAPIは使っていません。
仮想シリアルポート(NXP LPC11Uxx USB VCOM)として認識される。これはMCU上のシリアルポートのブリッジとして機能する。
動作確認:teratermなどで当該ポートを開く(9600baud)。46番ピン(RXD)と47番ピン(TXD)をショートさせるとローカルエコーされるのがわかる。
他プロジェクトは未検証。