串口屏lua上手

最近搞个项目,需要使用串口屏,由于需要保存大量数据,并且需要作图,还需要打印图片,为了开发方便,资源合理利用,使用串口屏的sd卡保存数据,但sd卡大数据的读写在常规的串口控制协议中没有,只有lua的有这部分内容,因此搞了几天的lua程序。
lua比较反c语言,是从i=1开始,也不需要{},多了写一些then…end这个倒是还行,主要是串口屏是需要写文件,每次修改还需要到串口屏上操作,还有就是编译器不好用,只能调试模式看问题。`–下面列出了常用的回调函数
–更多功能请阅读<<物联型LUA脚本API.pdf>>
–local cjson = require “cjson”
local usb_path = ‘’
local sc_Home = 5
local list_file_name = ‘c:/listsave.csv’
local line_list= {}

local line_data_file_name= {}
local line_data_file_name_buf= {}

local data_file_name = “”
local data_file_name_buf = “”
local cnt = 0

local cur_select_record = 0
local draw_type = 0
local pre_x=0
local pre_y=0

local tickoi = 2
– split string
– str : eg: ‘Maria;100;96;98’
– pat : pat = ;
– rst : table, t[1]=Maria, t[2]=100
function split(str, pat)

local t = {}
local last_end = 0
local s, e = string.find(str, pat, 1)

while s
do
	table.insert(t, string.sub(str, last_end + 1, last_end + s - last_end - 1))
	last_end = e
	s, e = string.find(str, pat, last_end + 1)
end

if last_end <= #str then
	cap = string.sub(str, last_end + 1)
	table.insert(t, cap)
end

return t

end

– Read each line of csv file
– filename:path
function csv_read(filename)
cnt = 0
csv_line2 = {}

local rfile = io.open(filename, "r")

if rfile ~= nil
then
	for line in rfile:lines()
	do
		cnt = cnt +1
		csv_line2[cnt] = line.."\n"
	end
end

rfile:close()

return csv_line2

end

– write at the end of the file
– filename: path
– info : add info
function csv_addWriteEnd(filename, info,csv_line3)
local csv_info = ‘’
local wfile = io.open(filename, ‘a+’)

for i = 1, #(csv_line3)
do
	if csv_line3[i] == nil
	then
		csv_info = csv_info..csv_line3[i]..'\n'
	end
end

csv_info = csv_info..info..'\n'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值