DFRduino M0 Mainboard

产品名称(300px)
目录

1 简介
2 产品参数
3 引脚说明
4 供电
5 接口
6 让IDE支持DFRduino M0 Mainboard

6.1 安装编译器
6.2 windows下安装DFRduino M0 Mainboard BSP
6.3 linux下安装DFRduino M0 Mainboard BSP
6.4 mac下安装DFRduino M0 Mainboard BSP
6.5 在IDE中选择M0 MainBoard

7 特殊功能使用教程

7.1 双物理串口,一个USB串口
7.2 多数字IO
7.3 IIS播放WAV音频
7.4 测试过的平台

8 协议说明
9 疑难解答
10 更多

简介
32bit MCU Arduino唯一一款支持5V传感器的,让基于AVR arduino的硬件产品无缝升级,体验更高速的计算。
M0 Mainboard的设计思想是不追求硬件接口的高大强,与leonardo接口和编程习惯保持兼容,为用户提供更多的便利性。只对数字io+串口2+IIS做一个短板扩充。
支持双硬件串口+USB串口
完全兼容leonardo接口,另外比标准leonardo多10个IO(其中2个可以配置为RX2 TX2)
支持IIS接口,播放wav文件,软解MP3(MP3解码能力待其他功能做完后再评估)。配合高端IIS芯片,可以专业HIFI级的音频体验。
ble版本支持无线更新固件,兼容bluno所有功能。
高精度 PWM
win linux mac全平台兼容。IDE默认支持1.6.6及以上版本。其他版本IDE可以按照FAQ中的说明自己做一些更改来使用

产品参数
微控制器: Nuvoton NUC123ZD4AN0 (Cortex M0)
时钟速度: 72MHz
工作电压: 5V
推荐输入电压:7-12V
限制输入电压:6-20V
数字IO口: 14+7
模拟输入: 6(leonardo为12个)
外部中断:2
SRAM: 20K
Flash:68K(其中Bootloader占用12K,用户可用代码区占用55K,EEPROM区占用1K)
EEPROM 1K
SPI:1个
IIC:1个
USB串口:1个 Serial
物理串口:2个 Serial1、Serial2
Serial1 0 (Rx1) 和 1 (Tx1)
Serial2 24(Rx2) 和 25(Tx2)

尺寸:68.516 * 53.369(mm)
重量

引脚说明

name

标号
名称
功能描述

1
XXX
XXX

2
XXX
XXX

3
XXX
XXX

4
XXX
XXX

5
XXX
XXX

6
XXX
更多表格格式

供电
DFRduino M0 Mainboard可以通过USB口和外部电源供电,供电电路可以自己选择使用哪个

接口
我们提供六路A0-A5模拟输入,其他接口兼容官方Leonardo
另外我们还提供了一些扩展接口

让IDE支持DFRduino M0 Mainboard

让IDE支持DFRduino M0 Mainboard需要两个步骤。

第一步,安装编译器。
第二部,安装包DFRduino M0 Mainboard BSP

安装编译器

需要Arduino IDE 1.6及以上版本
windows linux mac都需要运行如下操作安装cortex M编译器
刚刚安装的Arduino IDE只能编译AVR指令集的程序,但是它提供了扩展选项,让我们能够编译其他指令集的程序。点击菜单栏的工具,里边有个开发板->开发板管理器

菜单选项

进入开发板管理器,选中任意一个cotrex M内核的开发板,选择安装,等待安装完成,即可编译cortex M系列的开发板了。

开发板管理器

因为国内网络连接国外速度较差,经常更新不成功。我们也提供离线安装的形式,下载下面的压缩包,按照压缩包中readme的说明操作,即可离线安装

网盘地址:http://pan.baidu.com/s/1kTCSJ0j 密码:4n0t

windows下安装DFRduino M0 Mainboard BSP

从git上下载 DFRduino M0 Mainboard 的 BSP 支持包 http://210.22.153.182/ouki/nuvoton_m0_board.git ,将其复制到我的文档下的Arduino文件夹中。上架后将这个东西移动到github中
必须保证你的路径正确,如果发现有文件夹不存在,请新建这些文件夹。
目录结构

linux下安装DFRduino M0 Mainboard BSP

linux下将DFRobot目录拷贝arduino软件包中的到hardware中,例如将软件包放在桌面上,目录结构如下

目录结构

mac下安装DFRduino M0 Mainboard BSP

将BSP拷贝到 /Users/用户名/Arduino/hardware/DFRobot/Nuvoton 位置,例如某用户名Angelo的用户,其拷贝目录如下图

目录结构

在IDE中选择M0 MainBoard

根据你的系统,完成M0编译链和BSP的安装。再次打开IDE,即可找到对应的开发板DFRobot M0 MainBoard

IDE M0 Mainboard.png

特殊功能使用教程

双物理串口,一个USB串口

USB串口对应Serial,物理串口1对应Serial1,物理串口2对应Serial2。对于物理串口,用户可以使用usb转串口工具查看打印。

实验代码

void setup() { // put your setup code here, to run once:
Serial.begin(115200);
while(!Serial);
Serial1.begin(115200);
Serial2.begin(115200);
}
void loop() { // put your main code here, to run repeatedly:
Serial.println("I am USB CDC Serial");
Serial1.println("I am Serial 1");
Serial2.println("I am Serial 2");
delay(1000);
}

实验结果
使用USB转串口接口板接收数据,在PC上打开软件观察。在USB 串口,物理串口Serial1和Serial上都可以看到对应的打印输出。

多数字IO

实验代码

int pin;
void setup() { // put your setup code here, to run once:
for(pin=24;pin<32;pin++){
pinMode(pin,OUTPUT);
}
}
void loop() { // put your main code here, to run repeatedly:
for(pin=24;pin<32;pin++){
digitalWrite(pin,HIGH);
}
delay(500);
for(pin=24;pin<32;pin++){
digitalWrite(pin,LOW);
}
delay(500);

}

实验结果 在数字口24-31上,有1HZ的电平跳变输出,接电压表可以看到电压跳变,接led可以看到闪烁。

IIS播放WAV音频

点击下载库文件[下载链接]。如何安装库?

#include <SPI.h>
#include <Wire.h>
#include <SD.h>
#include <WAV.h>

// set up variables using the SD utility library functions:
Sd2Card card;

const int chipSelect = 4;
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial) {
 ; // wait for serial port to connect. Needed for Leonardo only
}

Serial.print("\nInitializing SD card...");

// we'll use the initialization code from the utility libraries
// since we're just testing if the card is working!
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
return;
} else {
Serial.println("Wiring is correct and a card is present.");
}
}

void loop()
{
int ret=WAV_DECODING;
wav.begin("test.wav");
wav.play();
while(ret == WAV_DECODING){
ret = wav.decode();
}
}

测试过的平台

目前测试过的平台:

windows : win7 32bit/64bit win8 32bit/64bit win10 32bit
linux :ubuntu 12.04 32bit
mac:

协议说明

疑难解答

问: IDE1.6.6以下版本 不能编译通过

答:请手动将platform.txt中的"{build.path}/core/syscalls.c.o"改为"{build.path}/syscalls.c.o"

问: Linux下载时显示没有权限操作串口

答: 使用sudo usermod -a -G 当前用户名 dialout 将当前用户添加到dialout组,然后注销重新登陆即可。

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!

更多

Shopping car.png [Link ]
|}

标签: Arduino传感器