前几天收到 Arduino M0,试各项功能都正常,可就是串口监视器/串口助手不能显示程序里打印的输出,好生奇怪,各种换波特率各种PC串口程序换着试,资料不多,官方资料也只说到 Serial1 用于 pin 0 1 的(实际上测试的时候提示 Serial1 没有声明),Serial 用于 USB 通信,根本只字未提 SerialUSB 的事,直到今天,哦不,是昨天了,下午在群里提问,“忠忠”回复有一个 SerialUSB 用于 USB 的串口通信,这才知道了这个事。真是好坑人啊。


官网链接:http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0

摘录:

Overview

With the new Arduino M0 board, the more creative individual will have the potential to create one’s most imaginative and new ideas for IoT devices, wearable technologies, high tech automation, wild robotics and other not yet thinkable adventures in the world of makers.
The Arduino M0 represents a simple, yet powerful, 32-bit extension of the Arduino UNO platform. The board is powered by Atmel’s SAMD21 MCU, featuring a 32-bit ARM Cortex® M0 core.
With the addition of the M0 board, the Arduino family becomes larger with a new member providing increased performance. 
The power of its Atmel’s core gives this board an upgraded flexibility and boosts the scope of projects one can think of and make; moreover, it makes the M0 the ideal educational tool for learning about 32-bit application development.

Summary

Microcontroller

ATSAMD21G18, 48pins LQFP

Operating Voltage

3.3V

Input Voltage (recommended)

6-15 V

Input Voltage (limits)

4.5-20 V

Digital I/O Pins

14, with 12 PWM and UART

Analog Input Pins

6, 12-bit ADC channels

Analog Output Pins

1, 10-bit DAC

DC Current per I/O Pin

7 mA

Flash Memory

256 KB

SRAM

32 KB

Clock Speed

48 MHz

Schematic & Reference Design

EAGLE files: arduino-M0-reference-design.zip

Schematic: arduino-M0-schematic.pdf

Power

The Arduino M0 can be powered via the micro USB connection or with an external power supply. The power source is selected automatically.

External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected to the board by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.

The board will automatically detect which power sources are available and choose which one to use according to the following priority:

  1. External power
  2. Target USB

External power is required when the 500mA through the USB connector is not enough to power a connected USB device in a USB host application.

The power pins are as follows:

  • VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin. The allowed input voltage range for this pin (and for the power jack connector) is 6-20V.
  • 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply. The maximum current output provided by the on-board regulator is 1A (according to the power input source).
  • 3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 1A (according to the power input source).
  • GND. Ground pins.
  • IOREF. The voltage at which the i/o pins of the board are operating (i.e. VCC for the board). This is 3.3V on the M0.

Memory

The ATSAMD21G18 has 256 KB of flash program memory (with 4 KB used for the bootloader). The bootloader is factory pre burnt by Atmel and is stored in a dedicated ROM memory. The bootloader is protected using the NVM fuse.

It also carries 32 KB of SRAM and up to 16KB by emulation of EEPROM (which can be read and written with the EEPROM library).

Input and Output

Each of the 14 digital i/o pins on the M0 can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 3.3 volts. 7mA as maximum DC current for I/O pins and an internal pull-up resistor (disconnected by default) of 20-60 kOhms. In addition, some pins have specialized functions:

  • Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATSAMD21G18 hardware serial capability. Note that on the M0, the Serial class refers to USB (CDC) communication; for serial on pins 0 and 1, use the Serial1 class.
  • TWI: SDA and SCL. Support TWI communication using the Wire library.
  • PWM: Pins 2 to 13 Provide 8-bit PWM output with the analogWrite() function. The resolution of the PWM can be changed with the analogWriteResolution() function.
    Note1 The pins 4 and 10 can not be used simultaneously as PWM.
    Note2 The pins 5 and 12 can not be used simultaneously as PWM.
  • SPI: on the ICSP header. These pins support SPI communication using the SPI library. Note that the SPI pins are not connected to any of the digital I/O pins as they are on the Uno, They are only available on the ICSP connector. This means that if you have a shield that uses SPI, but does NOT have a 6-pin ICSP connector that connects to the M0's 6-pin ICSP header, the shield will not work.
  • LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off.
  • Analog Inputs: A0-A5. The M0 has 6 analog inputs, labeled A0 through A5. Pins A0-A5 appear in the same locations as on the Uno; Each analog input provides 12 bits of resolution (i.e. 4096 different values). By default the analog inputs measure from ground to 3.3 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function.
  • DAC: pin A0 provides true analog outputs with 10-bits resolution (1023 levels) with the analogWrite() function. This pin can be used to create an audio output using the Audio library.
  • Reset: Bring this line LOW to reset the microcontroller. This is typically used to add a reset button when shields are used that block the one already present on the board.

Communication

The Arduino M0 has a number of facilities for communicating with a computer, with another Arduino or other microcontrollers, and with different devices like phones, tablets, cameras and so on. The SAMD21 provides one hardware UART and three hardware USARTs for 3.3V serial communication.

The Arduino software includes a serial monitor allowing simple textual data to be sent to and from the board. The RX and TX LEDs on the board will flash when data is being transmitted via the ATSAMD21G18 chip and USB connection to the computer (but not for serial communication on pins 0 and 1).

The Native USB port is connected to the SAMD21. It allows for serial (CDC) communication over USB. This provides a serial connection to the Serial Monitor or other applications on your computer.

The SAMD21 also supports TWI and SPI communication. The Arduino software includes a Wire library to simplify use of the TWI bus. For SPI communication, you can use the SPI library.

Programming

The Arduino M0 can be programmed with the Arduino software (download).  
If you use Linux-based OS follow the guide Arduino IDE on Linux-based OS.

Uploading sketches to the SAMD21 is different from how it works with the AVR microcontrollers found in other Arduino boards: the flash memory needs to be erased before being re-programmed. Upload operation is managed by a dedicated ROM area on the SAMD21.

USB port: To use this port, select "Arduino M0 (Native USB Port)" as your board in the Arduino IDE. The Native USB port is connected directly to the SAMD21. Connect the M0 Native USB port (the one closest to the reset button) to your computer. Opening and closing the Native port at 1200bps triggers a 'soft erase' procedure: the flash memory is erased and the board is restarted with the boot loader. Opening and closing the native port at a different baudrate will not reset the SAMD21.

USB Overcurrent Protection

The M0 has a resettable polyfuse that protects your computer's USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA flows through to the USB port, the fuse will automatically break the connection until the short or overload is removed.

Physical Characteristics

The maximum length and width of the M0  PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Four screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.

Conformity Declaration

FCC

RoHS

CE

Product Code

A000103

转载于:https://www.cnblogs.com/starsnow/p/5074753.html

Arduino M0 的一个坑(2015-12-25)相关推荐

  1. 【2021.12.25】ctf逆向中常见加密算法和编码识别

    [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 文章目录 [2021.12.25]ctf逆向中常见加密算法和编码识别(含exe及wp) 0.前言 1.基础加密手法 2.b ...

  2. java 周历_Java中公历和ISO 8601周历的一个坑

    作者:flhuoshan链接:https://hacpai.com/article/1423812556502 如果尝试运行下面的代码,其结果可能会让你意外: 运行结果为: 2014-12-29 20 ...

  3. 为什么响应式(自适应)网站是一个坑

    什么是自适应网站?其实自适应更专业的说法是响应式网站.在2010年5月,Ethan Marcotte提出的响应式网站的概念,通俗的说,就是一个网站可以兼容不同的终端,不用为每个分辨率设备做一个特定的版 ...

  4. (2012.12.25)我的中级软件设计师考试

    我的中级软件设计师考试 ―― 2012.12.25(By: Neicole) 一.开篇 中级软件设计师,合格分是45/75(上午题)+ 45/75(下午题),然后,这次低分险过52+51.本文仅想简单 ...

  5. 【我的书】Unity Shader的书 — 文件夹(2015.12.21更新)

    写在前面 感谢全部点进来看的朋友.没错.我眼下打算写一本关于Unity Shader的书. 出书的目的有以下几个: 总结我接触Unity Shader以来的历程,给其它人一个借鉴.我非常明确学Shad ...

  6. iOS 7 跳过的一个坑又掉里了 - 图片渲染模式

    iOS 7 跳过的一个坑又掉里了 - 图片渲染模式 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作 ...

  7. arduino封装了一个无线串口模块LC12S的操作库

    前一段时间接触到一个比较好用的2.4G无线串口通信模块LC12S, 在淘宝上仅四五块钱,收发一体,比较好用. 我照着技术文档封装了这个设置操作的库 demo代码: #include <Ardui ...

  8. DZ论坛全自动挂机回帖助手2015.10.25实用版

    软件授权:               免费软件 运行环境:               2003/xp/win7/win8/win10 软件介绍: 下载地址:http://pan.baidu.com ...

  9. 11g里创建OEM时的一个坑“emca -config dbcontrol db -repos recreate”

    11g里创建OEM时的一个坑 关于11g的OEM的更多内容: http://blog.itpub.net/26736162/viewspace-2029565/ 关于Oracle里的组件说明: htt ...

最新文章

  1. EL之Boosting之GB(DTR):简单回归问题使用梯度提升法(DIY数据集+DTR模型+调两参)
  2. Winform混合式开发框架的特点总结
  3. 微信小程序运行报错---invoke event
  4. 【设计模式】7、桥接模式
  5. android背景不填充,(Android Studio)应用程序背景图像不填充屏幕
  6. svn 地址中文_iGit自助迁移SVN工程解密
  7. 数据科学和人工智能技术笔记 五、文本预处理
  8. Vue-CLI and Leaflet (9): 点聚合 Leaflet.markercluster
  9. intellij IDEA 报 非法字符 \65279 原因及解决方法
  10. quartz2D简单使用
  11. Atitit.跨语言 java c#.net php js常用的codec encode算法api 兼容性  应该内置到语言里面
  12. FFmpeg-Python 给视频添加文字
  13. IDEA代码文件的版权(copyright)信息配置
  14. python数学圆周率_Python编程超简单方法算圆周率
  15. 公司规定所有接口都用 POST请求,这是为什么?
  16. Cortex-M4芯片介绍
  17. 华为ccie网络工程师中技术要点PPP中PAP和CHAP的区别
  18. safari苹果浏览器对日期格式不支持的解决办法
  19. QQ盗号软件后门分析与反击
  20. MyBatis-Plus分页插件的使用

热门文章

  1. Android6.0之后的权限机制对App开发的影响
  2. singft 函数 matlab,(新)信号与系统MATLAB实验全.doc
  3. AttributeError: 'NoneType' object has no attribute 'split' 报错处理
  4. K近邻算法的kd树实现
  5. 关于VSCode更新对于emmet2.0支持的配置更改问题。
  6. GCD学习(五) dispatch_barrier_async
  7. zabbix系列(八)zabbix添加对web页面url的状态监控
  8. MEMCACHE分布式算法(PHP)
  9. ASP.NET AJAX:Ajax验证(ajax+Handler处理)
  10. Pecl和Pear的区别和联系?