Mu聪明的地方在于它能将代码保存到开发板映射到PC的磁盘上,将文件命名为sum.py并保存。然后看串口中是否有输出。然而并没有,仍然是main.py程序的输出!

原来,CircuitPython在处理程序的执行时,会遵循一定的规则。CircuitPython会在磁盘上依次查找code.txt, code.py, main.txt及main.py,找到并执行第一个程序。咱们将上述代码保存为sum.py,根本不是上述文件之列,所以刚创建的文件根本就不会运行!

明白了这一点,就好办了。只需要将sum.py更名为code.py就可以了,试试!

更名后的代码文件即时生效了,如下

可以看到咱们期望的结果了。

不止如此,提示还给出了一些有用的信息,比如"Auto-reload is on"这句话告诉我们,代码文件修改并保存后会即时生效,同时我们也看到了code.py执行会优先于main.py。

最后一个有趣的地方在于,当code.py执行完毕后,我们可以按任意键进入REPL环境,如下

确实很好很强大!

不过我们前面提到Mu这个IDE时也说了,Mu本身就提供了一个REPL环境,

下面这个窗口就是REPL环境了,这是个很有用的窗口,例如我们想看看开发板GPIO接口的命名,可以在REPL里执行如下命令

熟悉Arduino编程的用户一定对A0、A1这些接口耳熟能详,所以,如果要引用其中一个接口,按照Python的规则,应该是board.XX,其中XX就是上面列出的名称了。

好,下面开始正式点灯,编辑如下代码

很光棍的一段代码,当然也好懂!保存,然后就自动运行了。看到LED灯闪啊闪,串口也有对应的输出。

然而问题来了,Cpython中的哪些库可以用呢?这个可以参考官方的文档,参见附录。上面代码中用到的一些库都在参考资源中列出来了,花5分钟熟悉一下!

说了半天,CircuitPython是啥?CircuitPython是大名鼎鼎的MicroPython的再移植产品,专门为Adafruit的部分硬件定制。

除了支持Python,开发板也支持Arduino模式开发。按照Arduino一般的开发模式,首先要下载并安装对应的板级库文件,Metro M0 Express也不例外,如下

确定后,就可以在Arduino的开发板管理器里添加对应的开发板类型了。这里碰到一点糟心的事,就是官方的PDF文档里举例使用的是另一款开发板,不是针对Metro M0 Express的,花了很长时间安装后却发现找不到Metro M0 Express这一开发板型号,重新在网页版里找到了正确的库文件后才解决!因为Arduino现在支持的开发板种类太多,很多开发板的命名也比较相似,结果往往就是找错了对象,闹了笑话,浪费了时间!

下图是正确安装了软件库后显示的板卡名称

现在可以打开一个blink程序来点灯了,编译并上传的结果如下

LED灯又开始闪烁了。

不过问题又来了,Python不能用了!

这是正常现象,现在的存储空间被ARDUINO程序占用了,所以PYTHON当然也就不能用了。怎么办呢,下面是切换回Python的方法。

首先双击开发板上的复位键,进入bootloader模式,此时PC端映射的盘符会变成METROBOOT,里面有3个文件,如下

从附录给出的CircuitPython参考里下载一个扩展名为.bin的文件,注意不要下载错了,必须是针对Metro M0的.bin文件,然后拖动到映射的盘符里,等待大约15秒钟,奇迹出现了,CircuitPython又出现了。只是此时的CircuitPython里还没有创建可运行的Python文件,自己写一个,命名为code.py或main.py,然后丢到映射盘里,又可以了!

总体来说,Metro M0 Express还是很好玩的。首先是硬件参数提升了,更高的运行主频及更大的存储空间,完败Arduino UNO R3!;其次,引入了CircuitPython的新式编程语言,一方面程序代码更简单,另一方面也为那些想要学习和了解Python的用户提供了一个学习的理由;最后一点就是灵活的引导配置模式,使得在二种编程语言(c/c++及Python)之间可以灵活切换!

至于配置过程中碰到的文档不一致的问题,只能怪笔者看文档的时候不够细心,不过如果官方在整理文档时,针对性更具体一点,也许用户的体验会更好一点吧!

附录:

python开发板比较_再不学点Python,咱真老了--Adafruit Metro M0 Express开发板评测相关推荐

  1. 海天食品的java开发工作如何_再三个月就秋招了,我想找一份java开发工作,现在应该怎么准备一下?...

    在找工作之前,大家都要做一些准备工作,java开发也是如此 掌握核心JavaSE 首先,从核心Java(JavaSE)开始学习,尽可能地掌握它.你应该了解和掌握一些基本概念,如循环,数组,运算符等等. ...

  2. python爬取微信群聊内容_再不学Python 你就被同龄人甩开了吗?

    原创: 潘懿锟 唐佩瑶 清华大学(分数线,专业设置)清新时报 记者 | 潘懿锟 唐佩瑶 "会Python的人,工作都不会太差.追上同龄人,就趁现在!" 或许你已经对微信的广告推送感 ...

  3. 会python的人工作都不会太差什么梗_再不学Python 你就被同龄人甩开了吗?

    原创: 潘懿锟 唐佩瑶 清华大学(分数线,专业设置)清新时报 记者 | 潘懿锟 唐佩瑶 "会Python的人,工作都不会太差.追上同龄人,就趁现在!" 或许你已经对微信的广告推送感 ...

  4. 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...

    AlphaGo 都在使用的 Python 语言,是最接近 AI 的编程语言. 教育部考试中心近日发布了"关于全国计算机等级(NCRE)体系调整"的通知,决定自2018年3月起,在全 ...

  5. python后端开发学什么_零基础学Python,这是阿里Python8年开发经验写给你的学习路线图...

    今天给大家分享一位前辈整理的一个Python web学习路线.这位前辈由于有编程基础,所以采用了自学Python的方式.学完后主要做后端开发.希望对你有所启发. 整理的一个 python web 学习 ...

  6. python开发环境推荐_推荐一款Python开发环境管理神器

    在 Python 开发中,有些情况下,我们可能面临在一台机器上同时安装多版本Python的需求.比如: 有多个Python项目,每个项目依赖不同的Python版本. 有一个Python项目,它需要同时 ...

  7. python入门第一课_入门第一课 Python入门涉及的问题及简单示例

    很多初学者都在问:我想自学Python,该怎样入门?入门选择哪些书籍? 下面,我以自己的理解作出解答. 1.先说明大体的学习进度. Python确实入门较为容易,语法清晰易懂.一旦入了门再想提高就和其 ...

  8. 我的python学习笔记全集_记录我的Python学习笔记

    不想再像以前那样,什么都从头开始学习语法.总结语法,这样反而会过分纠结于语法,耽误了开发,毕竟语言的主要属性是工具,次要的属性是语言本身. 所以还是先熟练使用语言去进行开发,等足够熟悉了,再去研究语言 ...

  9. python利用写模块_使用C++编写python扩展模块

    简介 长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的).而是指使用Python本身提供的API,使用C++来对Python ...

最新文章

  1. scanf family API 高级用法
  2. python正则表达式group用法_【Python】正则表达式用法
  3. 各类科技活动获奖公示网站
  4. java runtime ssh 后执行指令_酒后系列:被某厂面试官吊打后酒后整理的JVM干货
  5. Java受检异常和非受检异常
  6. android 禁用dlsym_一个绕过移动端系统限制的dlopen库: byOpen
  7. win11系统安装打印机的方法
  8. java课程设计签到系统_学生课堂签到系统设计及实现.doc
  9. (2021系统架构设计师)个人对于软考的一些总结
  10. 泛微E8的数据展示集成方法
  11. Pubwin经典问题解答100例
  12. linux c 获取文件大小
  13. 案例驱动python编程入门-郑州高薪python全栈工程师
  14. 从零写一个操作系统之booting
  15. 并行:并行编程的基础概述
  16. charles及弱网测试
  17. 行业分析-磁共振造影剂市场现状及未来发展趋势
  18. 我眼中的光明·第一周
  19. 3个表的连接需要 个关联条件。_多表关联
  20. 安全狗+linux使用教程,三分钟秒懂!服务器linux安全狗安装详细教程

热门文章

  1. IC-工具篇--VCS使用教程-卷二(202004013)
  2. 【DIY】送给儿子的感应小夜灯,DIY小夜灯,无需编程,用人体红外感应传感器制作小夜灯...
  3. GPIO做输出还能作外部中断输入吗?
  4. 降息大法好!银行4.35%消费贷了解一下?
  5. 【笔记】buck/boost/buck-boost相关计算公式
  6. 【移动通信】WIFI6 技术参数
  7. kubernetes一次生产故障日记
  8. python文件读取 ,json文件的存储
  9. 《JAVA编程思想》学习笔记——第三章 操作符
  10. java 常见中文乱码问题解决