
Lua
___Eirc
Hello,Hell. 个人邮箱:takumanatata@foxmail.com; 不常上来;不搞嵌入式很久,写前端去了。
展开
-
LUA 5.1 CRC16/Modbus 校验 纯LUA实现
导语:由于LUA5.1上,不支持位操作,先自实现了在 lua 5. 1 上的位操作具体代码如下:1)调用CRC16函数即可,函数返回是 CRC16/MODBUS 校验的校验位2)提供验证代码准确性的网站:http://www.ip33.com/crc.htmlfunction And(num1,num2) local tmp1 = num1 local tmp2 = num...原创 2019-11-25 17:11:51 · 4258 阅读 · 1 评论 -
LUA 将16进制数 与 IEEE - 754 浮点数 互转
一,说明:1,传递参数需要是16进制格式的字符串,或者数字(不支持负数)2,只支持32位,单精度3,提供一个验证使用的网址https://www.h-schmidt.net/FloatConverter/IEEE754.html4,Hex转浮点数 代码如下:--备注:math.modf() 这个函数就是为了获取除法的整数部分function hexToFloat( hexS...原创 2019-07-17 16:16:10 · 4808 阅读 · 5 评论 -
LUA ASCII码转字符 和 字符转ASCII码函数 string.byte() | string.char()
一,string.byte()函数:local tmp= "1"print(string.byte(tmp)) --输出49print(tmp:byte())--输出49tmp = "123" --默认转换第一个print(string.byte(tmp))--输出49print(tmp:byte())--输出49print(string.byte(tmp,1,3))--...原创 2019-07-12 17:30:20 · 12549 阅读 · 0 评论 -
Lua--CRC8/MAXIM校验
使用方法:(适用于lua5.3)1,先创建一个xxx.c文件,写入下面代码#include <stdio.h>#include <string.h>#include <lua.h>#include <lauxlib.h>#include <lualib.h>unsigned char crc8(const unsig...原创 2018-11-27 16:07:41 · 2421 阅读 · 0 评论 -
Lua 5.1 位操作(与,或,异或操作)
由于lua5.1不支持位操作,自己写了一个lua的位操作函数,代码如下:方法1:function Xor(num1,num2) local tmp1 = num1 local tmp2 = num2 local str = "" repeat local s1 = tmp1 % 2 local s2 = tmp2 % 2 if s1 == s2 then st...原创 2018-11-30 10:42:11 · 25512 阅读 · 8 评论 -
Lua --- 检查某个值第x位是否为1
代码如下:function checkBit(value,nbit) local tmp1 = 2^(nbit + 1) local tmp2 = 2^nbit local ret = 0 ret = value % tmp1 ret = ret / tmp2 if ret >= 1 then return 1 else return 0 endendpr...原创 2018-11-19 14:33:53 · 982 阅读 · 0 评论 -
交叉编译libuci库
libuci库是LUA在使用UCI时所需的动态库1,准备---安装cmakesudo apt-get install cmake 2,准备---交叉编译libubox库交叉编译libuci需要用到libubox.so库,所以要先编译此库,编译libubox链接:https://blog.youkuaiyun.com/u013625451/article/details/83057673...原创 2018-10-15 13:52:42 · 2654 阅读 · 0 评论 -
Lua笔记----关于LUA取整,取余操作分析
1,Lua取余 1)‘%’ 此操作与C一样,举例:a=8,b=3, a%b的结果为:2 2)math.floor()函数,此函数也是取余,当左值小于右值的时候,math.floor()会输出0,详细看代码:print(8%3) --输出 2print(1%2) --输出 1math.floor(8%3) --输出 2math.floor(1%2...原创 2018-08-01 18:35:25 · 49439 阅读 · 0 评论 -
LUA笔记(4)----移植LUA到ARM平台
一,下载LUA的源码下载地址:http://www.lua.org/download.html 解压下载的下载的压缩包 tar -xvf lua-5.1.4.tar.gz (解压到哪里都可以)二,修改编译器我用的交叉编译器器是arm-cortex_a9-linux-gnueabi-gcc进入到刚才解压出来的文件夹中: cd lua-5.1.4/src在src下有个...原创 2018-01-07 13:10:53 · 2263 阅读 · 0 评论 -
C语言调用Lua----Lua环境搭建
一,Lua环境搭建1,Lua解释器安装sudo apt-get install lua5.2sudo apt-get install lua5.2-0-dev--安装完以上步骤后就可以使用Lua--在/usr/local/目录下有几个文件夹,分别是lib bin include shareshare是安装了luarocks后,通过luarocks 安装的Lua包的...原创 2017-12-15 11:59:47 · 894 阅读 · 0 评论 -
C语言中调用LUA(3)--往Lua脚本中传递变量
1,C代码#include #include #include #include #include int f(lua_State *L,int x, int y){ int z; lua_getglobal(L,"f"); //获取test.lua中的变量名称 并压入栈中 lua_pushnumber(L,x); //往栈中压入参数原创 2017-12-15 18:04:23 · 1549 阅读 · 0 评论 -
C语言中调用LUA(2)--获取全局变量值
1,直接上代码#include #include #include #include int main(void){ int ret1,ret2,ret3; //创建一个Lua的解释器 lua_State *L = luaL_newstate(); //载入Lua的库文件 luaL_openlibs(L原创 2017-12-15 16:52:28 · 1298 阅读 · 0 评论 -
C语言中调用LUA(1)
C程序中调用LUA脚本文件1,新建LUA脚本 test.lua print("hello world") 2,在C程序中调用 #include<stdio.h>#include<lua.h>#include<lualib.h>#include<lauxlib.h>int main(void){ //...原创 2017-12-15 15:14:12 · 1209 阅读 · 0 评论 -
LUA笔记(3)-- 关于lua的使用
一,比如Koreader是一个使用 Lua 和 C/C++ 混合编程的软件。Lua 是 Koreader 的主要编程语言,它做了以下工作1,控制底层输入输出(处理用户按键输入、手势识别、控制屏幕刷新)2,处理程序应用逻辑而C/C++ 部分用于文档解析和渲染,使用了 MuPDF 、DjVuLibre 、CREngine 、K2pdfopt 等优秀开源实现。Lua 的优势体原创 2018-01-03 11:50:20 · 293 阅读 · 0 评论 -
LUA笔记(2)----read()的使用
一,LUA中io.read() 功能1)可以用于读取文件中的内容2)可以用于读取标准输入的内容二,io.read()参数说明1) "n" 读取一个数字ret = io.read("*n") print(ret)2)"a" 从当前位置读取剩余的全部内容ret = io.read("*a")print(ret)3)"l" 读取下一行的内容ret原创 2017-12-23 14:19:04 · 3884 阅读 · 0 评论 -
Lua笔记(1)----LUA中的文件操作
一,LUA打开文件local file = io.open("file.txt","r"); 解释--打开文件“file.txt” 以只读的方式打开,以下是各种打开模式的介绍:模式 描述"r" 只读模式,就是打开一个现有的文件的默认模式。"w" 写使能模式将覆盖现有的文件或创建一个新文件。"a...原创 2017-12-23 11:36:40 · 1204 阅读 · 0 评论