首页 > 评测 > 再不学点Python,咱真老了--Adafruit Metro M0 Express开发板评测
再不学点Python,咱真老了--Adafruit Metro M0 Express开发板评测
- [导读]
- 这块板子可以看作是M0的翻版,但是把玩度高很多。首先是硬件参数提升了,更高的运行主频及更大的存储空间,完败Arduino UNO R3!;其次,引入了CircuitPython的新式编程语言,一方面程序代码更简单,另一方面也为那些想要学习和了解Python的用户提供了一个学习的理由;最后一点就是灵活的引导配置模式,使得在二种编程语言(c/c++及Python)之间可以灵活切换!
曾几何时,流行过这么一句话:再不疯狂我们就老了!这是青春的再召唤,还是献给青春的挽歌,个中滋味,也许只有内心自知!
在AI蓬勃发展的今天,IT巨头都在悄悄布局,做为IT人的你,是否也准备好了?虽说Python不是进入AI领域的最佳编程语言,但毫无疑问,Python是进入其中并探索AI奥秘非常流行的编程语言。所以,趁着还年青,无论是心理还是身理,亦或是职业生涯的青春期,学点Python吧!
Adafruit推出的Metro M0 Express开发板,集MCU开发与Python一体,确实是入门Python的极佳开发板。纯Python学习,不免枯燥,如果还能在开发板上点个灯,是不是会更好一点!(话外音:还是枯燥!)
除了Python,还可以使用Arduino来开发、测试,也算是一专多能了。
先看板,再点灯,此乃学习电子的不二法门(个人经验,切勿模仿)。
初看,这货不是Arduino板么?其实不是滴,虽具其形,但内心更强大。Metro M0 Express拥有一颗 ATSAMD21G18芯,相比ATmeg328来说,在主频及存储方面都有极大的提升。引脚全面兼容Arduino UNO。
供电方面,新增了7V~9V DC供电接口,DC Jack规格为5.5/2.1mm,极性内正外负,旁边还有一个物理开关,手动打开或关断电源。
与Arduino不同的是,GPIO接口不再使用过孔,而是使用贴片式,开发板背面整体一块,配合Metro Express的大大Logo,更显大气。
硬件配置方面,MCU型号为ADSAMD21G18,最高运行主频为48MHz,3.3V工作电压。存储组合则为256KB的Flash存储加32KB的SRAM;另外还板载了一片4MB的SPI存储,进一步扩充了存储需求。 Metro Express的主要特性如下:
• ATSAMD21G18核心,最高运行主频为48MHz
• 256KB/32KB的存储组合
• 2MB SPI Flash存储扩展
• 32.768KHz晶振
• 3.3V电压调节器,最大支持500mA电流
• 原生USB支持,不再需要FTDI转串口支持
• 硬件串口/I2C/SPI支持
• PWM输出
• 25个GPIO,工作电压为3.3V
• SWD调试接口
• 电源开关
值得指出的是,25个GPIO可除了可以复用做数字/模拟引脚外,其中还包括了一个真正的模块输出引脚A0。另外原生的USB支持,免去了类似FTDI之类的转换芯片,USB接口除了可以充当串口通讯设备外,还可以连接键盘、鼠标及MIDI设备。
另外在开发板上也集成了一个SWD调试接口,只是不知道在Arduino环境里如何使用它?
先不管这些了!上个电看看。
使用MicroUSB转换线连接开发板的USB口与PC连接,测试用的PC上安装的是Windows 10系统。当开发板与PC连接后,通过USB给开发板供电。上电后开发板的三色LED灯循环变换显示颜色,另外指示串口通信的TX指示灯开始闪烁。
Windows 10自动检测到串口设备并安装了正确的驱动程序,如下
另外PC上会多出一个大容量存储磁盘,其中包含了PYTHON启动代码及相关的资源,如下
其中main.py里面包含了相关的功能代码。在串口的输出如下
这个默认的程序有点复杂,对于初学者来说,咱们来尝试写个简单的点灯程序,也算是第一个hello world程序。
我们知道在PC上写Python程序,有很多的IDE可供选择。那么在为MCU写代码时,有什么好的IDE可供选择呢?Adafruit官方推荐使用Mu来作为Metro M0 Express的IDE。从官网下载并安装Mu程序,启动后画面如下
界面比较朴素,没有什么噱头!不过这个IDE提供了一个REPL控制台,这是个很实用的程序。当然你也许会想,用VSCode行不?用Spyder行不?当然也行,不过我们知道Python程序都提供了一个REPL环境供用户获取帮助或实验简单的代码,这个时候这些IDE就没有用了,因为这些IDE都是基于PC端的Python解释器!
先写一段简单的Python代码,与MCU无关,纯粹是验证Python解释器。
代码如下
import time
s = 0
for i in range(10):
print(i)
time.sleep(1)
print('s = {}'.format(s))
将代码保存为sum.py,如下
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前