This commit is contained in:
graduateDesign 2021-08-22 10:18:41 +08:00
parent 4117083b62
commit 87e2f75825
7 changed files with 26 additions and 26 deletions

View File

@ -57,11 +57,11 @@ https://mp.weixin.qq.com/s?__biz=MzU4NzUzMDc1OA==&mid=2247484127&idx=1&sn=f66cff
# 4.内核测试与开发
## windows下测试mimiscript内核
## windows下测试PikaScript内核
step1: 下载源码
```
https://github.com/mimilib/mimiscript/releases/download/v1.0/mimiscript-v1.0.zip
https://github.com/mimilib/PikaScript/releases/download/v1.0/PikaScript-v1.0.zip
```
step2: 下载安装codeblocks
```
@ -76,7 +76,7 @@ step3: 打开winproject文件夹下的demoXX/demoXX.cbs编译运行
step1: 拉取项目
``` shell
git clone https://github.com/mimilib/pikascript
cd mimiscript
cd PikaScript
git submodule init && git submodule update
```
step2: 安装编译链
@ -192,5 +192,5 @@ void main()
printf("%d\r\n", res);
}
```
# 5. mimiscript-compiler
将pyton编译为mimiscript的C源码
# 5. PikaScript-compiler
将pyton编译为PikaScript的C源码

View File

@ -1,12 +1,12 @@
# 使用mimiscript为你的mcu轻松添加面向对象脚本支持
# 使用PikaScript为你的mcu轻松添加面向对象脚本支持
## abstrict
mimiscript是一个使用c语言写成的脚本支持库可以非侵入地为mcu提供对象化的脚本支持。
PikaScript是一个使用c语言写成的脚本支持库可以非侵入地为mcu提供对象化的脚本支持。
mimiscript能够在完全不修改原本工程代码的情况下非侵入性将c语言的函数以及变量绑定到脚本对象上可以直接使用脚本调用。
PikaScript能够在完全不修改原本工程代码的情况下非侵入性将c语言的函数以及变量绑定到脚本对象上可以直接使用脚本调用。
mimiscript默认支持python语法绑定也可以支持typescript语法绑定。
PikaScript默认支持python语法绑定也可以支持typescript语法绑定。
## 1.introduction
@ -26,9 +26,9 @@ python的运行效率较低在资源紧缺的mcu中显得尤为明显
也就是说使用c语言进行mcu嵌入式开发又向上位机或者服务器提供面向对象的脚本语言调用接口不就可以兼顾mcu运行效率和开发效率了吗
本文介绍的mimisciprt库正是可以起到这样的作用。
本文介绍的PikaScript库正是可以起到这样的作用。
mimiscrpit库可以为c语言开发的mcu工程提供面向对象的脚本语言调用接口。mimiscript有以下几个特点
PikaScript库可以为c语言开发的mcu工程提供面向对象的脚本语言调用接口。PikaScript有以下几个特点
1. 支持裸机运行可运行于内存40Kb以上的mcu中如stm32f103esp32。
@ -36,11 +36,11 @@ mimiscrpit库可以为c语言开发的mcu工程提供面向对象的脚本语言
3. 仅使用C标准库尽可能的结构清晰尽我所能几乎不使用宏。
## 2. 用mimiscript点一个灯
## 2. 用PikaScript点一个灯
鲁迅曾说过“点灯是嵌入式领域的hellow world”。
那我们就以点灯为例,看一看mimiscript如何为mcu提供对象化的脚本支持。
那我们就以点灯为例,看一看PikaScript如何为mcu提供对象化的脚本支持。
我们以STM32的HAL库为例假设在管脚PA8上连接了一个LED灯我们称之为LED1PA8拉高时灯亮拉低时灯灭。
@ -53,13 +53,13 @@ HAL_GPIO_WritePin(GPIOA,GPIO_PIN_8,SET);
LED1.on()
```
下面我们看看如何使用mimiscript实现这个需求。
下面我们看看如何使用PikaScript实现这个需求。
1. 编写一个on()函数。这个函数将会被作为一个方法注册到脚本对象里面注册之后就不会再由开发者在c语言开发中调用了只会在脚本运行时被脚本解释器调用。
on()函数的入口参数有self和args其中self是对象的指针args是参数列表args内部基于链表可以传入任意个数、任意类型的参数。
mimiscript中所有被绑定为方法的函数都使用这两个入口参数。
PikaScript中所有被绑定为方法的函数都使用这两个入口参数。
``` c
void on(PikaObj *self, Args *args)
{
@ -112,7 +112,7 @@ int main()
4. 这时只要向mcu的串口发送``` led.on()```,灯就亮了~
## 3. 用mimiscript实现一个加法函数。
## 3. 用PikaScript实现一个加法函数。
上面的例子中的方法没有输入输出下面的例子中我们会定义一个test类并为test类添加一个add函数实现加法功能。

View File

@ -63,10 +63,10 @@ int32_t main()
/* get user input */
fgets(inputBuff, sizeof(inputBuff), stdin);
/* run mimiScript and get res */
/* run PikaScript and get res */
Args *resArgs = obj_runDirect(root, inputBuff);
/* get system output of mimiScript*/
/* get system output of PikaScript*/
char *sysOut = args_getStr(resArgs, "sysOut");
if (NULL != sysOut)

View File

@ -60,10 +60,10 @@ int32_t main()
/* get user input */
fgets(inputBuff, sizeof(inputBuff), stdin);
/* run mimiScript and get res */
/* run PikaScript and get res */
Args *resArgs = obj_runDirect(root, inputBuff);
/* get system output of mimiScript*/
/* get system output of PikaScript*/
char *sysOut = args_getStr(resArgs, "sysOut");
if (NULL != sysOut)

View File

@ -58,10 +58,10 @@ int32_t main()
/* get user input */
fgets(inputBuff, sizeof(inputBuff), stdin);
/* run mimiScript and get res */
/* run PikaScript and get res */
Args *resArgs = obj_runDirect(root, inputBuff);
/* get system output of mimiScript*/
/* get system output of PikaScript*/
char *sysOut = args_getStr(resArgs, "sysOut");
if (NULL != sysOut)

View File

@ -114,10 +114,10 @@ int32_t main()
/* get user input */
fgets(inputBuff, sizeof(inputBuff), stdin);
/* run mimiScript and get res */
/* run PikaScript and get res */
Args *resArgs = obj_runDirect(root, inputBuff);
/* get system output of mimiScript*/
/* get system output of PikaScript*/
char *sysOut = args_getStr(resArgs, "sysOut");
if (NULL != sysOut)

View File

@ -43,10 +43,10 @@ int main()
/* get user input */
fgets(inputBuff, sizeof(inputBuff), stdin);
/* run mimiScript and get res */
/* run PikaScript and get res */
Args *resArgs = obj_runDirect(root, inputBuff);
/* get system output of mimiScript*/
/* get system output of PikaScript*/
char *sysOut = args_getStr(resArgs, "sysOut");
if (NULL != sysOut)