目录
本笔记使用ESP32 S3作为开发板
快速开始
- 下载包管理器(https://pikapython.com/doc//%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%8E%E6%A8%A1%E5%9D%97%E7%AE%A1%E7%90%86.html )
- 点击会安装依赖
组件cmake配置
|
|
例程
|
|
适配
运行
固件
- 在
pikapython目录下编写.py文件,并使用pikapython编译器的进行编译 - 编译结果存放于
pikascript-api/目录下 - 注意:如果涉及多个文件需要在主文件中显式声明文件间的关系,不然编译器不会生成对应的编译产物
字符串
注意:固件中烧录的代码会优先执行
|
|
串口
pikaSutio安装地址(实际上是个串口工具就行)
重写__platform_getchar()接口
|
|
文件系统接口
注意:pikaVM_runSingleFile与pikaVM_runFile有区别。区别在于一个不管引用其他文件一个管引用其他文件
|
|
有关 pikaVM_runFile
因为需要将编译文件放在/pikascript-api目录,因此需要首先手动创建。
第二种方式就是直接使用读取并使用字符串的方式运行,这里不做过多介绍。
|
|
概念
对象树

模块
通用模块
如何使用包管理器
编写requestment.txt
PikaStdLib 标准库
提供内存占用查询接口
PikaStdDevice 标准设备
提供了抽象接口,需要添加对应设备模块使用(见下章)

PikaStdData 数据结构
提供List (列表),Dict(字典)数据结构
HAL 层模块
调用规则:通用模块->抽象函数->HAL->具体底层实现
ESP32模块
编写自己的模块
创建.pyi接口
在pikapython目录下编写.pyi
|
|
运行./rust-msc-latest-win10来编译,注意需要在main.py中预先引用
创建对应的底层实现
上一步中编译器会生成对应的头文件,存放于pikascript-api目录下,但是具体的实现需要我们进行。
请在pikascript-lib目录下创建一个子目录(如Math),并创建对应的.c文件(如Math_Adder.c)
|
|
来调用吧
main.py 中
|
|
补充
可变参数
|
|
|
|
裁剪
- 按照模块进行裁剪非常简单,只要在 main.py 中删除 import 语句即可。
- 将不需要全局使用函数下放到子模块中,因为在 main.py 中直接导入的模块,处于运行时随时可用状态,因此所有的类都会被添加进工程。而被其他文件间接导入的模块,预编译能够判断哪些是不会被用到的,因此只有用到的类会被添加进工程。