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