对于深入研究实时嵌入式应用程序之前,对MicroPython感兴趣的开发人员必须先选择支持开发套件或微处理器。开发人员寻找支持的开发工具包的最佳位置是签出MicroPython Github Board Summary页面。想要快速启动并运行的开发人员应该考虑已经安装了MicroPython的PyBoard。想要使用适合使用Arduino屏蔽的开发工具包并且不介意将MicroPython放在开发工具包上的额外步骤(要了解如何编译和安装MicroPython,请参阅Jacob的视频)的开发人员应该考虑使用Netduino Plus 2。
图1 - PyBoard(左)和Netduino Plus 2(右)
一旦开发人员运行硬件MicroPython,开始使用MicroPython进行编程相对简单。开发人员只需将他们的设备通过USB插入PC,这样他们就可以访问REPL(Read Evaluate Print Loop)终端。 REPL允许开发人员只需键入即可使用MicroPython测试命令和脚本。
例如,首先要尝试的是学会控制板载LED。使用 pyb 库完成对MicroPython中任何微控制器外设的控制。第一步是在REPL中键入“ import pyb ”并按Enter键。然后,开发人员可以通过 pyb 库访问任何微控制器外设。例如,可以通过键入 pyb.LED(LED#)。on()打开LED,或者通过键入 pyb.LED(LED#)关闭()关闭LED。 I>。可以在图2中看到如何使用MicroPython打开四个不同LED的简单示例。
图2 - 带LED指示灯的REPL终端
Python的一个优点是它不仅仅是一种脚本语言; Python是一种面向对象的编程语言。例如,开发人员可以创建一个LED对象来控制开发板上的所有LED。 PyBoard有四种不同的LED;红色,绿色,黄色和蓝色。每个LED都分配一个数字,以红色为一,红色为四。可以编写一个简单的脚本,通过将名为Led的对象分配给 pyb.LED(2),每1000毫秒切换一次绿色LED。 LED切换脚本的外观示例可以在图3中找到。
图3 - 绿色LED切换脚本
pyb 库包含许多用于控制微控制器外设的预定义类。一些例子包括PWM,CAN和定时器。图4包含其他示例类,MicroPython文档包含所有受支持的类。
图4 - Pyb库类
不一定需要通过Python脚本的主循环执行定期任务,例如切换LED,如示例所示。开发人员可以选择使用微控制器的定时器外设,并使用中断来改变LED的状态。设置计时器相对简单。首先,开发人员需要选择应该使用哪个计时器(timer1,timer2等)并使用类似于以下代码创建计时器对象:
TimerGreenLedToggle = pyb.Timer(2)
其中数字2是应与 TimerGreenLedToggle 对象一起使用的计时器编号。
分配计时器对象是一个很好的第一个开始但开发人员还需要为计时器分配一个频率。可以使用以下代码初始化定时器以5 Hz的频率触发中断:
TimerGreenLedToggle.init(freq = 5)
然而,在REPL中执行上述语句的开发人员会发现没有什么真正有趣的事情发生。没有任何反应的原因是计时器需要已经分配了一个回调函数,以便在每次中断触发时执行。 MicroPython非常容易地分配这样的回调函数。例如,一个名为 GreenLedToggle 的函数只需调用 Led.toggle()。开发人员可以使用以下代码将 GreenLedToggle 分配给 TimerGreenLedToggle 回调:
TimerGreenLedToggle.callback(GreenLedToggle)
您可以看到创建一个简单的切换LED是多么简单!即使是定时器设置也只需要几行Python代码。上面的定时器代码可以在几分钟内完成。使用传统C代码的开发人员通常不会轻易逃脱。需要花费大量的时间和精力才能进入C代码才能达到MicroPython的起点。
全部0条评论
快来发表一下你的评论吧 !