介绍了怎样开发自己的模块
简介
假如您以某种方式碰到了micropython,在某个实例中爱上了它,然后订购了pyboard。您可能已经为加急运输支付了额外费用。pyboard到达后,您变得像小狗一样兴奋。您使用了硬件,学习了如何使用加速度计,开关,LED和温度传感器,并通过I2C,SPI,USART或CAN接口与其他设备成功通信。您已将开发板插入计算机,并通过模拟鼠标。您甚至试图将其除以零,只是为了查看芯片是否会在火焰中上升(顺便说一句,这很恶心),并且注意到解释器巧妙地阻止了此类事件的发生。您已经编写了自己的python函数,甚至将它们编译成冻结的模块,然后将所有该死的东西烧录到微控制器上。然后,您已经对板载汇编器有所了解,因为您希望可以加速(但是你不能。)
然而,您总感到有些不满意。您发现您想以一种特殊的方式访问外围设备,或者需要一些精美的函数,当在python本身中实现该函数时,它似乎会占用过多的RAM,并且需要过多的时间来执行,而由于其局限性,汇编是太尴尬了。也许,您只是对通过使用python编写所有内容来使其代码易于阅读,而您只是想隐藏它,就想隐藏它的魔力。但是您仍然想保留python的优雅。
经过彻底的内省和深思熟虑之后,如果您发现自己身上的这些后遗症,则有两种选择:您感到绝望,放弃想法并继续前进,或者您了解如何完成micropython背后的繁重工作,并在C中增加自己的函数、类和方法。事实证明,一旦掌握了它,它并不难。唯一的窍门就是掌握它。这就是本文档打算发挥作用的地方。
在接下来的页面上,我想展示如何添加新功能并将其公开给python解释器。我将尝试以一种平易近人的方式讨论micropython的所有方面。每个概念都将在一个实现中呈现,并减少到最低限度,您可以立即进行编译并尝试一下。(这里的代码已经针对micropython v.1.11进行了测试。)在每一章的最后,我将完整列出所讨论的代码,并且还包括源链接,以便复制和粘贴不会涉及大量的代码。工作量。此外,我还提供了一个小示例,以便我们实际上可以看到我们的代码有效。
|