如何通过C实现生成micropython的pyboard模块

时间:2018-01-31 09:33:21

标签: module micropython

有很多可以通过micropython使用的pyboard模块。目前我只知道这些模块的真正实现是在C中完成的。我的问题是: 如何在Python模块和C实现之间映射关系? 比如我们可以使用import pyb,pyb Python文件在哪里? 比如我们可以使用from pyb import LED并调用强度函数,Python LED类的定义在哪里?其强度函数的定义在哪里?

1 个答案:

答案 0 :(得分:0)

找到这个的最简单方法是克隆source code,然后开始使用您喜欢的任何文本/文件搜索工具。搜索文件/文本' pyb'和/或' LED'然后你会找到例如modpyb.c来定义pyb模块(在C中,而不是在Python中)。在那里你可以看到模块的全局字典有一个条目

{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pyb_led_type) }

这是MicroPython的术语,说“有一个名称为LED的东西,它的类型为pyb_led_type”。后者是LED类的C代码,可在led.c中找到,包括led_obj_intensity函数。