產品說明
BM18B367A 採用 3.3V 系列 Cortex®-M0+ 內核的 HT32F52367 為主控 MCU,支援多種供電方式,具備額外的 I2C、SPI、UART 等常用通訊介面。
與 Arduino Nano 腳位相容
BMduino-Nano BM18B367A 的腳位與 Arduino Nano 相容,電壓準位為 3.3V (Arduino Nano 則為 5V)。
除了標準的 Arduino Nano 腳位之外,BM18B367A 另外提供了 BMCOM2,並貼心地設計用跳帽設定連接器的電壓準位為 3.3V 或 5V。板上自帶有電壓轉換電路,讓您在外接使用 5V 電壓的模組時,可以直接連接 BMCOM2,不須擔心電壓轉換的問題。
燒錄方式
本產品具有 e-Link32 Lite 電路,可用來除錯及燒錄,因此在燒錄程式時不須使用 TX 及 RX 腳位 (Arduino Nano 則需使用這兩個腳位)。Arduino Nano 具有 6-pin ICSP 連接器,但本產品不需要 ICSP 的功能,因此將此 6-pin 連接器設計成 BMCOM2。
開發環境
除了在 Arduino IDE 開發環境下工作,本產品也可工作於 Keil IDE 開發環境,其使用方式與 ESK32-30510,HT32F52367 開發套件相同。
什麼是 BMCOM?
BMCOM 是一個由 I2C/UART 模組所組成的生態系統,其中包括感測器、執行器、顯示器和無線模組等,可以加速原型設計。
BMCOM 連接器有兩種型式:BMCOM1 是 2.54mm 間距的 5 針接頭,而 BMCOM2 是 1mm 間距的 5 針 JST 連接器。
BMduino-Nano BM18B367A 由於尺寸較小,只保留 BMCOM2 ; 而 BMduino-UNO BM53A367A 則兩者都有。
BMduino-UNO v.s. BMduino-Nano
本產品在功能上與 BMduino-UNO BM53A367A 差異不大,主要差異在於 BMduino-Nano BM18B367A 尺寸小巧,而且可以直接插在麵包板上使用,適合應用體積小的產品使用。您可依產品體積來選擇適合的開發板。
產品比較表
開發板 |
BMduino-Nano
BM18B367A |
Arduino Nano |
BMduino-UNO
BM53A367A |
核心 |
32-bit Cortex M0+,60MHz |
8-bit AVR®,16MHz |
32-bit Cortex M0+,60MHz |
Flash / EEPROM / SRAM |
256KB / – ★/ 32KB |
32KB / 1KB / 2KB |
256KB / 4KB / 32KB |
工作電壓 |
3.3V |
5V |
3.3V |
通訊介面 |
I2C、SPI、UART |
I2C、SPI、UART |
I2C、SPI、UART、USB |
燒錄模式 |
ICP / IAP |
IAP |
ICP / IAP |
連接器 |
BMCOM2 |
– |
BMCOM1、BMCOM2 |
開發環境 |
Arduino、Keil |
Arduino |
Arduino、Keil |
I/O 驅動電流 |
16mA |
20mA |
16mA |
數位 I/O 腳位 |
26 |
22 |
31 |
PWM 輸出 |
14 |
6 |
17 |
尺寸 |
18 x 50 x 18.4 mm |
18 x 45 mm |
54 x 94 x 14 mm |
★ 在 Arduino 開發環境中,BM18B367A 使用 Flash 的最後一個 Page 來模擬 1KB 的 EEPROM。
關於第三方 Arduino Library 的相容性
網路上有許多開源的 Arduino 程式庫,使用程式庫可以節省我們開發專案的時間。然而 Arduino 程式庫是可以設計為指定在哪一種 MCU 架構上執行,例如:為 avr 架構的 MCU 所寫的 Arduino 程式庫,BM18B367A 可能就無法使用 (編譯過程會失敗)。
在 Arduino 程式庫目錄裡的 library.properties 檔案內容中,有一行 architecture= 的指令是用來指定在哪一種 MCU 架構上執行,例如:architecture=* 代表該 Arduino 程式庫可在每一種 MCU 架構上執行,architecture=avr 代表該程式庫僅能在 avr 架構的 MCU 上執行。
然而,我們實際測試的結果是有極少部分例外的,例如:宣告 architecture=avr,但 BM18B367A 執行起來是沒有問題的 (例如 LiquidCrystal_I2C.h),或是宣告 architecture=* 但 BM18B367A 編譯過程卻有 error。
我們建議使用者在選擇第三方 Arduino Library 時,可依照以下步驟進行:
- 選擇宣告 architecture=* 的程式庫:熱門的元件或模組通常有多個開源的 Arduino 程式庫可選擇,選擇宣告 architecture=* 的程式庫來使用。
- 若找不到宣告 architecture=* 的程式庫時,可以嘗試使用非 architecture=* 的程式庫,編譯過程若只有 warning 而無 error,可實際測試是否能正常工作,例如上述的LiquidCrystal_I2C.h。
如果還是找不到合適的程式庫,您可以自己開發程式庫,或是與我們聯繫是否有現成的程式庫。