>>> 星瞳科技|OpenMV中国官方网站 <<<

>>> 星瞳科技店铺地址|OpenMV中国官方代理,全球九大代理商之一 <<<

>>> OpenMV3 Cam M7 官方高配版上市啦~戳我戳我戳我~ <<<

>>> 星瞳科技-OpenMV中文教程网 <<<

Python很大的优势就在于模块化编程,如果我写一个库,你就可以直接import,然后调用就可以啦。
下面的是micropython的库集合
https://github.com/micropython/micropython-lib

我们还是以IIC控制舵机的模块举例
如何复制文件,过程都在下面的链接。
http://www.kaizhi-xu.com/post/openmv/openmvjiao-cheng-2

我们来讨论一下语法上的事情,首先文件结构是这样的。
--main.py
--pca9685.py
--servoctrl.py

servoctrl.py需要依赖pca9685.py,所以我们虽然只import servoctrl,但是还是要两个都粘贴过来。

这个是main.py的内容

import time                         #引入时间模块
from pyb import I2C                 #引入I2C的类
from servoctrl import ServoCtrl     #引入控制舵机的类

i2c = I2C(2, I2C.MASTER)            #构造一个i2c的对象,类似于c++里的new    
servos = ServoCtrl(i2c)             #构造一个舵机的对象

servos.position(0,180)           #控制第0号舵机位置为180,这里是调用舵机的一个方法
time.sleep(1000)                 #延时1000ms
servos.position(0,0)
time.sleep(1000)
servos.position(0,180)
time.sleep(1000)
servos.position(0,0)

第一行中import time 使用常规导入,这种是最简单的,你只需要使用import一词,然后指定你希望导入的模块或包即可。然后使用time.sleep()就可以调用模块里的函数了。

第二行和第三行中使用的from...import...,这中导入方式,只导入模块的一部分,这是非常方便和简洁的。举个例子,如果你使用常规导入,那么会使用import pyb,那么在调用的时候,就需要使用i2c = pyb.I2C(2, I2C.MASTER),显然比i2c = I2C(2, I2C.MASTER)麻烦一点。