关闭

LUA+STM32,开始弄了。如何入门?

1444人阅读 评论(2) 收藏 举报
分类:

今天正式开始LUA之旅了。在STM32上弄。如何入门。


首先选用哪个版本的LUA? 网上搜索了半天,说是lua-5.1.4的比较好。登陆官网却登不上去。所以只能在CSDN下载了个。

另外,以前网上搜集的几个STM32例子都是用的lua-5.1.4。


具体在STM32上弄LUA要注意啥 才能入门呢?

(0)把lua代码填到工程中,并把lua.c和luac.c弄成不参与编译。

(1)修改启动代码的堆栈大小。

(2)弄个地方 加上下面的代码,当然可能不完全有用,至少一部分有用。具体作用以及准确性以后慢慢琢磨

<span style="font-family:Microsoft YaHei;font-size:18px;">typedef int FILEHANDLE;

#pragma import(__use_no_semihosting_swi)

#pragma import(_main_redirection)

const char __stdin_name[150];

const char __stdout_name[150];

const char __stderr_name[150];

FILEHANDLE _sys_open(const char *name, int openmode)

{

         return 0;

}

int _sys_close(FILEHANDLE fh)

{

          return 0;

}

int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode)

{

         return 0;

}

int _sys_read(FILEHANDLE fh, unsigned char*buf, unsigned len, int mode)

{

         return 0;

}

//¼ì²é¾ä±úÊÇ·ñΪÖÕ¶Ë

int _sys_istty(FILEHANDLE fh)

{

         return 0;

}

int _sys_seek(FILEHANDLE fh, long pos)

{

         return 0;

}

//ˢоä±ú¹ØÁªµÄ»º³åÇø

int _sys_ensure(FILEHANDLE fh)

{

         return 0;

}

 

//·µ»ØÎļþµ±Ç°³¤¶È

long _sys_flen(FILEHANDLE fh)

{

         return 0;

}

void _sys_exit(int status)

{

         //while(1);

 

}

int _sys_tmpnam(char *name, int fileno, unsigned maxlength)

{

         return 0;

}

//½«Ò»¸ö×Ö·ûдÈë¿ØÖÆ̨

void _ttywrch(int ch)

{

}

int remove(const char *filename)

{

         return 0;

}

char *_sys_command_string(char *cmd, int len)

{

 return NULL;

}</span>

(3)照着正点原子的例子 网上有个例子 照葫芦画瓢,能跑起来。可以用MDK软仿真。

好了就到这里。

以前弄过一次这个lua入门,但是今天重新又话了半天时间倒腾了一遍。就是因为以前没有书面记录,所以今天不得不说重新回忆。

所以说就像 lua那个比较厉害的人物云风在其博客里面说的,“

所以我今天也要在我的地盘上停留一把,要不然思路很快飞走了



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:102173次
    • 积分:1156
    • 等级:
    • 排名:千里之外
    • 原创:144篇
    • 转载:47篇
    • 译文:0篇
    • 评论:57条
    他人链接
    http://blog.csdn.net/zyboy2000
    最新评论