APM32F427 上移植 PikaPython 实现 GPIO 点灯控制
本文介绍在 APM32F427 上运行 Python(PikaPython)的基础功能,重点介绍 GPIO 驱动移植,目标为点灯。
引入必要的包
在之前的基础上,我们在 pikapython/requirements.txt 加入了当时必须的两个包(或者称之为'模块')。在运行包管理器后,内容被追加了版本信息:
pikascript-core==v1.13.4PikaStdLib==v1.13.4
为了实现点灯,我们增加两个新的包:PikaStdDevice 和 time,内容变更为:
pikascript-core==v1.13.4PikaStdLib==v1.13.4PikaStdDevicetime
再次运行包管理器 pikaPackage.exe,完成后会追加合适的版本信息,内容为:
pikascript-core==v1.13.4PikaStdLib==v1.13.4PikaStdDevice==v2.4.6time==v0.2.2
这 4 个包是点灯必须的。下面将会增加针对 APM32F427 的自定义包。
加入针对 APM32F427 的模块
新建文本文件 pikapython/apm32f4_pika.pyi,内容如下:
// apm32f4_pika.pyi
fromPikaObj import *
import PikaStdDevice
class GPIO(PikaStdDevice.GPIO):
...
class UART(PikaStdDevice.UART):
...
这是声明了两个类:GPIO 和 UART。稍后编写 py 脚本的时候,是可以直接使用 apm32f4_pika.GPIO 实例化相应的类。
修改 pikapython/requirements.txt,把 apm32f4_pika 追加到文件末尾:
pikascript-core==v1.13.4
PikaStdLib==v1.13.4
PikaStdDevice==v2.4.6
time==v0.2.2
apm32f4_pika
运行 rust-msc-latest-win10.exe,生成必要的内容,可以看到程序的输出类似:程序输出显示有 5 个包,与 requirements.txt 的内容一一对应。
在 pikascript-api 文件夹下新增了 3 个文件:
apm32f4_pika.hapm32f4_pika_GPIO.h


