4.7 KiB
1.PikaScript-三分钟快速上手
在本篇中,你将可以在手边没有硬件的情况下对pikascript进行上手测试。
测试使用keil5的仿真工程,仿真目标板为stm32f103,下载仿真工程即可直接开始测试。
(1) 下载工程
进入下载pikascript仓库
(右键在新标签页中打开) pikascript
然后下载源码
本篇的测试只需要解压demo/simulation-keil工程即可
直接打开工程
(2) 运行仿真工程
选择使用仿真器进行调试
打开串口显示面板
运行然后查看输出结果
(3) 改改脚本看看
用任意编辑器打开main.py,推荐vscode, 没有vscode用记事本打开也可以
以下就是main.py
# main.py
from PikaObj import *
import Device
import PikaStdLib
led = Device.LED()
uart = Device.Uart()
mem = PikaStdLib.MemChecker()
print('hello wrold')
uart.setName('com1')
uart.send('My name is:')
uart.printName()
print('mem used max:')
mem.max()
print('mem used now:')
mem.now()
这个脚本使用标准的python3语法,那么如何让这个脚本在单片机里运行呢?
事实上,pikascript虽然使用python语法,但原理上更像是java,是半编译半解释型的,pikascript的类和方法是需要编译的,而方法调用和对象新建/销毁则是在运行时解释的。
编译pikascript分为两步,第一步是使用pikascript预编译器将.py文件编译为pikascript-api中的.c和.h文件。
第二步是使用c编译器编译所有的c工程,然后下载到单片机里即可。
双击rust-msc-v0.5.0.exe运行pika预编译器,值得一提的是,这个预编译器是使用rust语言编写的。
为了验证编译的效果,我们可以先把pikascript-api文件夹里的文件全部删除,然后再运行编译器,看看能不能自动生成pikascript-api里面的.c,.h文件。
注意不要把pikascript-api文件夹给删掉了,只删除里面的文件即可。
下面就是pikascript-api生成的.c,.h文件
接下来我们来修改一下main.py看看效果
from PikaObj import *
import Device
import PikaStdLib
led = Device.LED()
uart = Device.Uart()
mem = PikaStdLib.MemChecker()
print('hello wrold')
uart.setName('com1')
uart.send('My name is:')
uart.printName()
print('mem used max:')
mem.max()
print('mem used now:')
mem.now()
# new code start
print('add new code start')
uart.setName('com2')
uart.printName()
print('add new code end')
# new code end
我们在main.py下面新加了4行脚本,我们来编译运行看看效果。
编译keil工程然后进入调试
我们发现多了3行输出,说明编译运行顺利。
好了,到这里pikaScript的三分钟快速上手就结束了。
想要了解如何部署pikaScript到你的工程里面,请看这里: 2. 十分钟快速部署
想要继续学习pikaScript的标准开发流程可以看这里: 3. PikaScript标准开发流程