Arduino board run on Mbed-os6.8.1 (only test purpose not official). Need Mbed Studio(1.3.1) not online compiler. If you compile on the online compiler, you can get a hex file but it does NOT work!!!
Dependencies: APDS_9960 LPS22HB LSM9DS1 HTS221
1) DAPLink(LPC11U35)の準備
使用したボード →https://akizukidenshi.com/catalog/g/gK-12144/
プログラムは、nRF52840-MDK用に公開されているDAPLinkのコンパイル済のバイナリコードを使わせていただきました。
https://github.com/makerdiary/nrf52840-mdk/tree/master/firmware/daplink
LPC11U35への書込みは、SW1(ISP)を押したままSW2(RESET)を操作するとPCに「CRP DISABLD」という名称でマウントされるので、書込まれているfirmware.binを削除してから、上記のbinファイルをコピーすれば書き込みが行われます。
書込み完了後にSW1を押さずに起動すれば、「DAPLINK」として認識されます。
DETAILS.TXTでDAPLinkの内容を確認できます。
2) 接続
Arduino Nano 33 BLE Sense | LPC11U35 Interface CPU | コメント |
J3:Pin2 (ボード裏のパッド) | CN1:Pin3 P0_7 | SWDIO |
J3:Pin3 (ボード裏のパッド) | CN1:Pin4 P0_8 | SWCLK |
JP2:Pin14 GND | CN2:Pin1 GND | GND |
3)USBSerial
シリアル出力は、NANO 33 BLE SENSEボードのUSB端子経由で出力されます。
4)Mbed Studio 1.3.1を使って開発のこと!(オンラインコンパイラでは動作しません!)
5)ボードピン配置
common_functions/usb_serial_as_stdio.h
- Committer:
- kenjiArai
- Date:
- 2021-02-28
- Revision:
- 2:9ee17e6e5900
- Parent:
- 1:cce280da16d4
File content as of revision 2:9ee17e6e5900:
/* * mbed Application program * Redirect Standard Input/Output * * Copyright (c) 2021 Kenji Arai / JH1PJL * http://www7b.biglobe.ne.jp/~kenjia/ * https://os.mbed.com/users/kenjiArai/ * Created: January 13th, 2021 * Revised: February 28th, 2021 */ // Include -------------------------------------------------------------------- //#include "mbed.h" #include "USBSerial.h" // Definition ----------------------------------------------------------------- // Constructor ---------------------------------------------------------------- USBSerial *usb = NULL; // RAM ------------------------------------------------------------------------ // ROM / Constant data -------------------------------------------------------- // Function prototypes -------------------------------------------------------- //------------------------------------------------------------------------------ // Control Program //------------------------------------------------------------------------------ /* https://cpplover.blogspot.com/2010/03/variadic-templates.html */ template <typename ... Args> void print_usb(const char *format, Args const & ... args) { if (usb == NULL) { return; } else { if (usb->connected() == true) { usb->printf(format, args ...); } } } void usb_serial_initialize(void) { usb = new USBSerial; } uint8_t readable() { return usb->readable(); } void putc(uint8_t c) { if (usb == NULL) { return; } else { usb->putc(c); } } uint8_t getc() { if (usb == NULL) { while(true){ ;} // infinit loop } else { return usb->getc(); } }