Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
891050cb
R
rt-thread
项目概览
BaiXuePrincess
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
891050cb
编写于
8月 11, 2016
作者:
z13955633063
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
在msh和fnish中均可调用lua,可将lua脚本作为参数传入
上级
764a1ba6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
8 deletion
+30
-8
components/external/lua/applications/lua_in_finsh.c
components/external/lua/applications/lua_in_finsh.c
+30
-8
未找到文件。
components/external/lua/applications/lua_in_finsh.c
浏览文件 @
891050cb
...
...
@@ -21,7 +21,7 @@ rt_err_t lua_rx_ind(rt_device_t dev, rt_size_t size)
return
RT_EOK
;
}
void
finsh_lua
(
void
*
parameter
)
void
finsh_lua
(
int
argc
,
char
**
argv
)
{
rt_err_t
(
*
rx_indicate
)(
rt_device_t
dev
,
rt_size_t
size
);
...
...
@@ -34,9 +34,6 @@ void finsh_lua(void *parameter)
rt_device_set_rx_indicate
(
dev4lua
.
device
,
lua_rx_ind
);
{
int
argc
=
1
;
char
*
argv
[]
=
{
"lua"
,
NULL
};
/* run lua interpreter */
lua_main
(
argc
,
argv
);
}
...
...
@@ -45,9 +42,8 @@ void finsh_lua(void *parameter)
rt_device_set_rx_indicate
(
dev4lua
.
device
,
rx_indicate
);
}
static
void
lua
(
void
)
static
void
lua
(
void
*
parameters
)
{
rt_thread_t
lua_thread
;
const
char
*
device_name
=
finsh_get_device
();
rt_device_t
device
=
rt_device_find
(
device_name
);
if
(
device
==
RT_NULL
)
...
...
@@ -56,6 +52,7 @@ static void lua(void)
return
;
}
dev4lua
.
device
=
device
;
char
*
argv
[]
=
{
"lua"
,
parameters
,
NULL
};
#if 0
/* Run lua interpreter in separate thread */
...
...
@@ -71,10 +68,35 @@ static void lua(void)
}
#else
/* Directly run lua interpreter in finsh */
finsh_lua
(
0
);
finsh_lua
(
2
,
argv
);
#endif
}
FINSH_FUNCTION_EXPORT
(
lua
,
lua
interpreter
)
FINSH_FUNCTION_EXPORT
(
lua
,
lua
interpreter
);
static
void
lua_msh
(
int
argc
,
char
**
argv
)
{
const
char
*
device_name
=
finsh_get_device
();
rt_device_t
device
=
rt_device_find
(
device_name
);
if
(
device
==
RT_NULL
)
{
rt_kprintf
(
"%s not find
\n
"
,
device_name
);
return
;
}
dev4lua
.
device
=
device
;
/*prepare parameters*/
int
i
;
char
**
arg
=
rt_malloc
((
argc
+
1
)
*
sizeof
(
char
*
));
for
(
i
=
0
;
i
<
argc
;
i
++
){
arg
[
i
]
=
argv
[
i
];
}
arg
[
argc
]
=
NULL
;
finsh_lua
(
argc
,
arg
);
rt_free
(
arg
);
return
;
}
MSH_CMD_EXPORT
(
lua_msh
,
lua
in
msh
);
int
readline4lua
(
const
char
*
prompt
,
char
*
buffer
,
int
buffer_size
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录