Seeduino XIAO开发板安装Arduino软件包以及USB串口驱动

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Seeduino XIAO开发板安装Arduino软件包以及USB串口驱动相关的知识,希望对你有一定的参考价值。

简 介: 本文对购买到的Seeed XIAO M0开发板进行了初步使用。给出了如何安装Arduino 软件包的过程。通过测试发现在Windows7中,仅仅安装了软件包还不行,需要单独安装SeeedXIAO串口USB驱动程序。

关键词 Seeed-XIAOArduino

 

§01 Seeeduino开发板


  天在 TB购买到的Seeeduino XIAO 小型开发板。下面对其进行测试。

  Seeeduino XIAO是Seeeduino家族中的最小成员。它使用了功能强大却低功耗的微控制器——ATSAMD21G18A-MU。这意味该小板在处理方面具有良好的性能,但需要的功率更少。由于它的设计尺寸很小,它可以被灵活运用于多种场景,特别是可穿戴设备和小型项目。
▲ 图1.0 Seeeduino XIAO

▲ 图1.0 Seeeduino XIAO

  Seeeduino XIAO具有14个通用输入输出接口(GPIO),可用作11个数字接口,11个模拟接口,10个PWM接口(d1-d10),1个DAC输出引脚D0、1个SWD焊盘接口,1个I2C接口,1个SPI接口,1个UART 接口,串行通信指示灯(T/R),闪烁指示灯(L)。LED的颜色为绿色、黄色、蓝色和蓝色分别对应电源、L、RX和TX。此外,Seeeduino XIAO具有Type-C接口,用于提供电源和数据传输。板上有两个重置按钮,您可以短接它们来重置板子。

1、开发资料

  arduino nano/uno主板seeeduino XIAO开发板arm微控制器pro mini 中给出了对应的开发资料。

(1)XIAO中文教程

▲ 图1.1 XIAO硬件概述

▲ 图1.1 XIAO硬件概述

2、接入PC Type-C USB

(1)USB驱动

  将SeeedXIAO使用Type-C USB接入PC,出现了未识别的USB设备。

▲ 图1.2 接入PC之后出现的设备

▲ 图1.2 接入PC之后出现的设备

(2)安装Seeeduino软件包

【Ⅰ.安装软件包-错误】

  根据 USB driver for Seeeduino XIAO modules 介绍,需要在Arduino中安装Seeed XIAO软件包,这样才能够自动形成SeeedXIAO的USB驱动。

  安装Arduino SeeedXIAO 软件包:

  • 在File→Preference中增加Additional Board Manager URLs:

https://raw.githubusercontent.com/Seeed-Studio/Seeed_Platform/master/package_seeeduino_boards_index.json
错误: 后面测试,这个链接无法安装Boards Manager对应的软件包。

▲ 图1.3 增加Additional Board Manager

▲ 图1.3 增加Additional Board Manager

  • 在Tools→Board→Boards Manger中 输入“Seeeduino XIAO”,安装:Seeed SAMD Boards

  ※ 错误:无法使用Boards Manager 安装Seeeduino XIAO软件包。搜索不到?

▲ 图1.4 错误:无法使用Boards Manager安装Seeeduino XIAO

▲ 图1.4 错误:无法使用Boards Manager安装Seeeduino XIAO

【Ⅱ.安装软件包-正确】

  在网页 Meet the Seeeduino XIAO 后面给出了新的安装软件包的URLs。

  在指定 Additional Board Manager URLs之后,便可以正常安装开发板管理器中的软件包了。

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

  下面的下载过程需要一段比较长的下载时间。


  安装之后便可以看到在开发板管理中出现了SeeedSAMD相关的开发板了。

▲ 图1.5 安装后的软件包

▲ 图1.5 安装后的软件包

  ● 但是:此时SeeedXIAO M0的USB驱动仍然没有能够安装好!

(3)正缺安装USB驱动

  还是在 USB driver for Seeeduino XIAO modules Salman 给出了从Github上下载驱动INF文件内容的方法。

go here https://github.com/Seeed-Studio/Signed_USB_Serial_Driver/blob/master/seeed_usb_serial.inf either download that file or copy the raw text and save in a text file named seeed_usb_serial.inf. use device manager and point it to that file. This is the ONLY thing that worked for me. Of course use the json file mentioned to add to arduino ide first.

  下面是从 Signed_USB_Serial_Driver/seeed_usb_serial.inf 拷贝下来的文件。将它存储在seeed_usb_serial.inf文件中。

; Copyright 2012 Blacklabel Development, Inc.

[Strings]
DriverPackageDisplayName="Seeed USB Driver"
ManufacturerName="Seeed Technology Inc (www.seeed.cc)"
ServiceName="USB RS-232 Emulation Driver"
clio.bootloader.name="Seeeduino Clio bootloader"
clio.sketch.name="Seeeduino Clio"
lite.bootloader.name="Seeeduino Lite bootloader"
lite.sketch.name="Seeeduino Lite"
xadow.bootloader.name="Xadow bootloader"
xadow.sketch.name="Xadow Clio"
seeeduinoV4.name="Seeeduino V4"
cloud.bootloader.name="Seeeduino Cloud bootloader"
cloud.sketch.name="Seeeduino Cloud"
atomNode.bootloader.name="Atom Node bootloader"
atomNode.sketch.name="Atom Node"
respeaker.sketch.name="ReSpeaker"
respeaker.bootloader.name="ReSpeaker bootloader"
rephone32u4.sketch.name="RePhone 2G 32u4"
rephone32u4.bootloader.name="RePhone 2G 32u4 bootloader"
rephoneSAMD.sketch.name="RePhone 2G SAMD21"
rephoneSAMD.bootloader.name="RePhone 2G SAMD21 bootloader"
zero.sketch.name="Seeeduino Zero"
zero.bootloader.name="Seeeduino Zero bootloader"
lorawan.sketch.name="Seeeduino LoRaWAN"
lorawan.bootloader.name="Seeeduino LoRaWAN bootloader"
groveTwoCore.sketch.name="Grove Two Core"
groveTwoCore.bootloader.name="Grove Two Core bootloader"
wioTraker.sketch.name="Wio Traker"
wioTraker.bootloader.name="Wio Traker bootloader"
lotusM0.sketch.name="Seeeduino Lotus V2 - Cortex-M0"
lotusM0.bootloader.name="Seeeduino Lotus V2 - Cortex-M0 bootloader"
CortexM0.sketch.name="Seeeduino Cortex-M0"
CortexM0.bootloader.name="Seeeduino Cortex-M0 bootloader"
wioLiteW600.sketch.name="Seeeduino Wio Lite W600"
wioLiteW600.bootloader.name="Seeeduino Wio Lite W600 bootloader"
wioBle.sketch.name="Seeeduino Wio Ble W600"
wioBle.bootloader.name="Seeeduino Wio Ble W600 bootloader"
femto.sketch.name="Seeeduino femto"
femto.bootloader.name="Seeeduino femto bootloader"
wioTerminal.sketch.name="Seeeduino Wio Terminal"
wioTerminal.bootloader.name="Seeeduino Wio Terminal bootloader"
XIAO.sketch.name="Seeeduino XIAO"
XIAO.bootloader.name="Seeeduino XIAO bootloader"

[DefaultInstall]
CopyINF=seeed_usb_serial.inf

[Version]
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Signature="$Windows NT$"
Provider=%ManufacturerName%
DriverPackageDisplayName=%DriverPackageDisplayName%
CatalogFile=seeed_usb_serial.cat
DriverVer=01/04/2013,1.0.0.0

[Manufacturer]
%ManufacturerName%=DeviceList, NTamd64, NTia64

[DestinationDirs]
FakeModemCopyFileSection=12
DefaultDestDir=12

[DeviceList]
%clio.sketch.name%=DriverInstall, USB\\VID_2886&PID_8001&MI_00
%clio.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0001
%lite.sketch.name%=DriverInstall, USB\\VID_2886&PID_8002&MI_00
%lite.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0002
%xadow.sketch.name%=DriverInstall, USB\\VID_2886&PID_8003&MI_00
%xadow.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0003
%seeeduinoV4.name%=DriverInstall, USB\\VID_2886&PID_0004
%cloud.sketch.name%=DriverInstall, USB\\VID_2886&PID_8005&MI_00
%cloud.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0005
%atomNode.sketch.name%=DriverInstall, USB\\VID_2886&PID_8025&MI_00
%atomNode.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0025
%respeaker.sketch.name%=DriverInstall, USB\\VID_2886&PID_8005&MI_00
%respeaker.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0005
%rephone32u4.sketch.name%=DriverInstall, USB\\VID_2886&PID_8006&MI_00
%rephone32u4.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0006
%rephoneSAMD.sketch.name%=DriverInstall, USB\\VID_2886&PID_800A&MI_00
%rephoneSAMD.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000A
%zero.sketch.name%=DriverInstall, USB\\VID_2886&PID_800B&MI_00
%zero.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000B
%lorawan.sketch.name%=DriverInstall, USB\\VID_2886&PID_800C&MI_00
%lorawan.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000C
%groveTwoCore.sketch.name%=DriverInstall, USB\\VID_2886&PID_800D&MI_00
%groveTwoCore.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000D
%wioTraker.sketch.name%=DriverInstall, USB\\VID_2886&PID_800E&MI_00
%wioTraker.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000E
%lotusM0.sketch.name%=DriverInstall, USB\\VID_2886&PID_8026&MI_00
%lotusM0.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0026
%CortexM0.sketch.name%=DriverInstall, USB\\VID_2886&PID_8027&MI_00
%CortexM0.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0027
%wioLiteW600.sketch.name%=DriverInstall, USB\\VID_2886&PID_8028&MI_00
%wioLiteW600.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0028
%wioBle.sketch.name%=DriverInstall, USB\\VID_2886&PID_802A&MI_00
%wioBle.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002A
%femto.sketch.name%=DriverInstall, USB\\VID_2886&PID_802C&MI_00
%femto.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002C&MI_00
%wioTerminal.sketch.name%=DriverInstall, USB\\VID_2886&PID_802D&MI_00
%wioTerminal.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002D&MI_00
%XIAO.sketch.name%=DriverInstall, USB\\VID_2886&PID_802F&MI_00
%XIAO.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002F&MI_00

[DeviceList.NTamd64]
%clio.sketch.name%=DriverInstall, USB\\VID_2886&PID_8001&MI_00
%clio.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0001
%lite.sketch.name%=DriverInstall, USB\\VID_2886&PID_8002&MI_00
%lite.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0002
%xadow.sketch.name%=DriverInstall, USB\\VID_2886&PID_8003&MI_00
%xadow.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0003
%seeeduinoV4.name%=DriverInstall, USB\\VID_2886&PID_0004
%cloud.sketch.name%=DriverInstall, USB\\VID_2886&PID_8005&MI_00
%cloud.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0005
%atomNode.sketch.name%=DriverInstall, USB\\VID_2886&PID_8025&MI_00
%atomNode.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0025
%respeaker.sketch.name%=DriverInstall, USB\\VID_2886&PID_8005&MI_00
%respeaker.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0005
%rephone32u4.sketch.name%=DriverInstall, USB\\VID_2886&PID_8006&MI_00
%rephone32u4.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0006
%rephoneSAMD.sketch.name%=DriverInstall, USB\\VID_2886&PID_800A&MI_00
%rephoneSAMD.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000A
%zero.sketch.name%=DriverInstall, USB\\VID_2886&PID_800B&MI_00
%zero.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000B
%lorawan.sketch.name%=DriverInstall, USB\\VID_2886&PID_800C&MI_00
%lorawan.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000C
%groveTwoCore.sketch.name%=DriverInstall, USB\\VID_2886&PID_800D&MI_00
%groveTwoCore.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000D
%wioTraker.sketch.name%=DriverInstall, USB\\VID_2886&PID_800E&MI_00
%wioTraker.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000E
%lotusM0.sketch.name%=DriverInstall, USB\\VID_2886&PID_8026&MI_00
%lotusM0.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0026
%CortexM0.sketch.name%=DriverInstall, USB\\VID_2886&PID_8027&MI_00
%CortexM0.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0027
%wioLiteW600.sketch.name%=DriverInstall, USB\\VID_2886&PID_8028&MI_00
%wioLiteW600.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0028
%wioBle.sketch.name%=DriverInstall, USB\\VID_2886&PID_802A&MI_00
%wioBle.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002A
%femto.sketch.name%=DriverInstall, USB\\VID_2886&PID_802C&MI_00
%femto.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002C&MI_00
%wioTerminal.sketch.name%=DriverInstall, USB\\VID_2886&PID_802D&MI_00
%wioTerminal.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002D&MI_00
%XIAO.sketch.name%=DriverInstall, USB\\VID_2886&PID_802F&MI_00
%XIAO.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002F&MI_00

[DeviceList.NTia64]
%clio.sketch.name%=DriverInstall, USB\\VID_2886&PID_8001&MI_00
%clio.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0001
%lite.sketch.name%=DriverInstall, USB\\VID_2886&PID_8002&MI_00
%lite.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0002
%xadow.sketch.name%=DriverInstall, USB\\VID_2886&PID_8003&MI_00
%xadow.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0003
%seeeduinoV4.name%=DriverInstall, USB\\VID_2886&PID_0004
%cloud.sketch.name%=DriverInstall, USB\\VID_2886&PID_8005&MI_00
%cloud.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0005
%atomNode.sketch.name%=DriverInstall, USB\\VID_2886&PID_8025&MI_00
%atomNode.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0025
%respeaker.sketch.name%=DriverInstall, USB\\VID_2886&PID_8005&MI_00
%respeaker.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0005
%rephone32u4.sketch.name%=DriverInstall, USB\\VID_2886&PID_8006&MI_00
%rephone32u4.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0006
%rephoneSAMD.sketch.name%=DriverInstall, USB\\VID_2886&PID_800A&MI_00
%rephoneSAMD.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000A
%zero.sketch.name%=DriverInstall, USB\\VID_2886&PID_800B&MI_00
%zero.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000B
%lorawan.sketch.name%=DriverInstall, USB\\VID_2886&PID_800C&MI_00
%lorawan.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000C
%groveTwoCore.sketch.name%=DriverInstall, USB\\VID_2886&PID_800D&MI_00
%groveTwoCore.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000D
%wioTraker.sketch.name%=DriverInstall, USB\\VID_2886&PID_800E&MI_00
%wioTraker.bootloader.name%=DriverInstall, USB\\VID_2886&PID_000E
%lotusM0.sketch.name%=DriverInstall, USB\\VID_2886&PID_8026&MI_00
%lotusM0.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0026
%CortexM0.sketch.name%=DriverInstall, USB\\VID_2886&PID_8027&MI_00
%CortexM0.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0027
%wioLiteW600.sketch.name%=DriverInstall, USB\\VID_2886&PID_8028&MI_00
%wioLiteW600.bootloader.name%=DriverInstall, USB\\VID_2886&PID_0028
%wioBle.sketch.name%=DriverInstall, USB\\VID_2886&PID_802A&MI_00
%wioBle.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002A
%femto.sketch.name%=DriverInstall, USB\\VID_2886&PID_802C&MI_00
%femto.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002C&MI_00
%wioTerminal.sketch.name%=DriverInstall, USB\\VID_2886&PID_802D&MI_00
%wioTerminal.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002D&MI_00
%XIAO.sketch.name%=DriverInstall, USB\\VID_2886&PID_802F&MI_00
%XIAO.bootloader.name%=DriverInstall, USB\\VID_2886&PID_002F&MI_00

[DriverInstall]
include=mdmcpq.inf,usb.inf
CopyFiles = FakeModemCopyFileSection
AddReg=DriverAddReg

[DriverAddReg]
HKR,,DevLoader,,*ntkern 
HKR,,NTMPDriver,,usbser.sys 
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"

[DriverInstall.Services]
include=mdmcpq.inf
AddService=usbser, 0x00000002, DriverService

[DriverService]
DisplayName=%ServiceName%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\\usbser.sys
LoadOrderGroup=Base

  然后右键点击Windows中设备管理器中的Seeed XIAO M0然后安装寻找文件进行安装。

  Windows开始会提醒警告。选择“始终安装此驱动程序软件”继续安装。

▲ 图1.6 出现的警告窗口

▲ 图1.6 出现的警告窗口

  经过比较长的时间之后,Windows成功安装了SeeedXIAO MO串口程序。

▲ 图1.7 已经安装完毕

▲ 图1.7 已经安装完毕

  此时在Windows设备管理中会出现 Seeedduino XIAO(COM39)串口。

▲ 图1.8 SeeedXIAO 串口安装完毕

▲ 图1.8 SeeedXIAO 串口安装完毕

  下面显示了 上电后的SeeedXIAO 板载LED在闪烁。

▲ 图1.8  上电后的SeeedXIAO 板载LED在闪烁

▲ 图1.8 上电后的SeeedXIAO 板载LED在闪烁

 

§02 单例程


1、Blink

  由于SeeedUnio XIAO 板载的黄色LED也是连接在PIN13,所以直接使用Arudino Blink示例程序是可以直接闪烁LED的。

  下面将原来缺省的2000ms的LEDBlink修改成300ms,程序进行重新测试。

/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {