打印
[应用相关]

STM32嵌入LUA开发(控制小灯闪耀)

[复制链接]
849|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
今天因为想让STM32完美的处理字符串,所以就想着让STM32嵌入lua,本来想用f103c8t6,但是一编译就提示内存不足......
所以单片机的型号选择的

使用特权

评论回复
沙发
家有两宝呀|  楼主 | 2021-8-4 22:06 | 只看该作者
我下载到了RBT6的芯片上测试的

先说一下最终实现的效果吧,就是用lua语言控制单片机的PC13  每间隔500Ms反转一次

实现功能的部分

使用特权

评论回复
板凳
家有两宝呀|  楼主 | 2021-8-4 22:07 | 只看该作者
static int lua_led_on(lua_State *L)
{
  PCout(13) = 1;
  return 1;
}
static int lua_led_off(lua_State *L)
{
  PCout(13) = 0;
  return 1;
}

static int lua_delay(lua_State *L)
{
  int num;
  num= lua_tointeger(L, 1);
  delay_ms(num);
  return 1;
}

static const struct luaL_Reg mylib[]=
{
  {"led_on",lua_led_on},
  {"led_off",lua_led_off},
  {"delay",lua_delay},
  {NULL,NULL}
};


const char LUA_SCRIPT_GLOBAL[] ="  \
off = 500     \
on = 500       \
while 1 do \
led_on() \
delay(off)    \
led_off()        \
delay(on)      \
end";

使用特权

评论回复
地板
家有两宝呀|  楼主 | 2021-8-4 22:08 | 只看该作者
调用部分while(1)
    {
        lua_State *L;
        L = luaL_newstate(); /* 建立Lua运行环境 */
      luaopen_base(L);
        luaL_setfuncs(L, mylib, 0);
    luaL_dostring(L, LUA_SCRIPT_GLOBAL); /* 运行Lua脚本 */
   
        
        while(1);

使用特权

评论回复
5
家有两宝呀|  楼主 | 2021-8-4 22:09 | 只看该作者
其实虽然可以了,但是也没什么感觉....因为可能需要裁剪很多功能才能运行在c8t6上,所以,唉,不开心......

现在说一下移植(赋值粘贴加修改)的步骤

使用特权

评论回复
6
家有两宝呀|  楼主 | 2021-8-4 22:09 | 只看该作者

使用特权

评论回复
7
家有两宝呀|  楼主 | 2021-8-4 22:10 | 只看该作者

使用特权

评论回复
8
家有两宝呀|  楼主 | 2021-8-4 22:10 | 只看该作者
下载之后
把这个文件夹拷贝出来

使用特权

评论回复
9
家有两宝呀|  楼主 | 2021-8-4 22:11 | 只看该作者
放在自己的工程目录下,位置随意,只要自己知道就行,因为需要手动设置告诉软件一些.h的位置,这个大家应该知道

使用特权

评论回复
10
家有两宝呀|  楼主 | 2021-8-4 22:12 | 只看该作者

使用特权

评论回复
11
家有两宝呀|  楼主 | 2021-8-4 22:13 | 只看该作者

使用特权

评论回复
12
家有两宝呀|  楼主 | 2021-8-4 22:14 | 只看该作者

使用特权

评论回复
13
家有两宝呀|  楼主 | 2021-8-4 22:15 | 只看该作者

使用特权

评论回复
14
家有两宝呀|  楼主 | 2021-8-4 22:16 | 只看该作者
设置头文件位置

使用特权

评论回复
15
家有两宝呀|  楼主 | 2021-8-4 22:18 | 只看该作者

使用特权

评论回复
16
家有两宝呀|  楼主 | 2021-8-4 22:19 | 只看该作者

使用特权

评论回复
17
家有两宝呀|  楼主 | 2021-8-4 22:20 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

566

帖子

0

粉丝