カテゴリー別アーカイブ: LPC11U35

LPC11U35 Pulse Monitor

DSC00884
トランジスタ技術2014年10月号の脈拍計の回路を利用させてもらいました。フォトリフレクタは、記事とは違うものを使用しています。フォトリフレクタ(反射タイプ) TPR-105Fを使用しています。秋月電子通商で購入しました。http://akizukidenshi.com/catalog/g/gI-00276/
オペアンプは、記事と同じNJU7032Dを使いましたがTPR-105Fに合わせて増幅の抵抗値を調整しています。
ソフトウェアは、mbedを使用しなかったので独自に作成しました。上下の回数を一定時間数えて平均をとる方法で脈拍を測定で来ました。
DSC00882
オペアンプを使用したアナログ回路の楽しさに出会いました。

LPC11U35 + I2C LCD

I2C低電圧キャラクタ液晶モジュール(16x2行)[バックライト付]を試してみました。IDEには、LPCXpresso v6.0.2_151を使用しました。サンプルは、LPC11U1x/2x/3x LPCXpresso Examplesを使用しました。i2cサンプルプログラムを元に作成しました。I2Cなので配線もすっきりです。

http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-lpcxpresso

I2C LCD

http://strawberry-linux.com/catalog/items?code=27021

LPC11U1x/2x/3x LPCXpresso Examples

LPC11U35 QSB IAP EEPROM API

LPC11U35には、EEPROMが内蔵されています。不揮発メモリとして利用できるので使用してみました。
DSC00650
IDEには、LPCXpresso v6.1.0_164を使用しました。LPC11Uxx LPCXpresso Examplesには、eepROMapiというサンプルプログラムが含まれています。これを流用します。このサンプルは、UARTを使用したIFなので、ここをUSBのCDCに置き換えました。実際には、前に作ったCDCのプログラムにEEPROMの部分を加えていきました。EEPROMの部分を加えるとBuildでエラーが出るようになります。

fseek.c:(.text.fseek+0x2a): undefined reference to `_Csyscall1′

解決方法は以下URLにありました。
http://www.support.code-red-tech.com/CodeRedWiki/UndefinedReference
Propaties→Settings→MCU Linker→Targetの中のUse C libraryをRedlib(none)からRedlib(semihost)に変更しました。
semihost

 

これでBuildがとおりEEPROMの読み書きができるようになりました。
HYPERT

後、注意は、
SystemCoreClockUpdate();の前に
LPC_SYSCON->SYSAHBCLKCTRL  |= (1UL<<9);   /* enable clock */
を設定しないとLPC_CT32B0のタイマが動きません。
Flush書き込みと違いそのまま割り込みも使えるし、EEPROMは、電源切ってもデータが保持できるのでいろいろ使えそうです。

http://akizukidenshi.com/catalog/g/gM-06948/
http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php

 

 

LPC11U35 QSB USB CDC(VCom)

USBを使ってシリアルポート通信を行います。
DSC00623

サンプルプログラムは以下サイトからダウンロードできます。
http://www.lpcware.com/content/nxpfile/sample-code-bundle-lpc11uxx-peripherals-using-lpcxpresso
USB_ROM_CDCのサンプルソフトは、QSBのサンプルと同じです。他のサンプルも試したいのでダウンロードしておきます。WindowsのCDCドライバはQSBのサンプルについているものを使用しました。上記URLからダウンロードした中には、Windwosのドライバは入っていません。IDEは、LPCXpresso v6.1.0_164を使用しました。新しくWorkspaceを作成し、ダウンロードしたLPC11Uxx LPCXpresso Examples.zipをインポートします。USB_ROM_CDCを改造します。まず、MPU SettingsをLPC11U35/401に設定します。また、USB ISPで書き込むのでbinファイルを生成する設定にします。Post-build stepsでarm-none-eabi-objcopy -O binary “${BuildArtifactFileName}” “${BuildArtifactFileBaseName}.bin” ; の前にある#を削除してbinファイルとチェックサム生成が行われるようにします。これでまず、一度buildし書き込みます。RESETするとドライバの要求があるのでQSBのサンプルにあるものを指定します。
CDCDriver

デバイスマネージャでポートの確認をします。LPC11Uxx USB Vcom portとして認識されています。DM

とりあえず、ループバックに改造します。サンプルは、USARTとUSBのブリッジサンプルなので、まずこれをやめます。main.cにある#define UART_BRIDGE 1の宣言を削除します。これでブリッジはしなくなります。このままでは、繋いでも何も送信が返ってきません。
ErrorCode_t VCOM_bulk_out_hdlr(USBD_HANDLE_T hUsb, void* data, uint32_t event)関数を修正します。
受信イベントでサンプルは、受信しても送信バッファに何入れません。
if (pVcom->rxlen == 0) {
pVcom->rxlen = pUsbApi->hw->ReadEP(hUsb, USB_CDC_EP_BULK_OUT, pVcom->rxBuf);
    pVcom->txlen = pVcom->rxlen;
    memcpy(pVcom->txBuf, pVcom->rxBuf, pVcom->rxlen);
pVcom->send_fn(pVcom);
pVcom->rxlen = 0;
}
受信長を送信長にコピーし受信バッファを送信バッファにコピーします。これでループバックします。ハイパーターミナルで動作確認とれました。

http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php
http://akizukidenshi.com/catalog/g/gM-06948/

LPC11U35 QuickStart Board mbed SDK

LPC11U35 QuickStart Boardをmbed SDKで使ってみようと思います。
LPC11U35
まずは、サンプルコードを次のURLからダウンロードします。
http://www.embeddedartists.com/mbedsdk
http://www.embeddedartists.com/sites/default/files/ext/mbedsdk/mbed_test_130404.zip
IDEにはLPCXpresso v6.1.0_164を使用しました。LPCXpressoに新しいワークスペースを作成します。そしてImportでダウンロードしたmbed_test_130404.zipを読み込みます。
今回使うサンプルは、簡単なapp_ledを試してみます。Build Configurationsにqsb_lpc11u35を設定します。これだけではMPUの設定が変更されません。MPUをLPC1769からLPC11U35/401に変更します。
MPU

Pathが悪いのかBuildでエラーが出ます。
../main.cpp:1:18: fatal error: mbed.h: No such file or directory
mbed_test_130404.zipを解凍して、mbedフォルダをワークスペースの中にコピーします。これでもエラーが出るのでさらにapp_ledフォルダの中にもコピーします。Buildが通りました。binファイルのチェックサムをつけるためにProperties-Settingsの中のPost-buildのCommand欄を変更します。
checksum -p ${TargetChip} -d “${BuildArtifactFileBaseName}.bin”;
これに#がついてコメントアウトされているので削除します。再Buildして作成されたapp_led.binをUSB ISPでLPC11U24に書き込みます。めでたくLED点滅ができました。

http://akizukidenshi.com/catalog/g/gM-06948/
http://www.embeddedartists.com/products/boards/lpc11u35_qsb.php

© 2014 Spineedge Corporation.