https://www.cnblogs.com/yangfengwu/p/10896650.html
其实GPRS整体和Wi-Fi是一样的原理,就是用http把程序下载到对应的文件里面,然后运行
大家看我的程序的时候会发现他比WIFI多了个这个文件
module(...,package.seeall)
--方便其他文件之间互相访问
updata0 = nil
updata1 = nil
updata2 = nil
updata3 = nil
updata4 = nil
updata5 = nil
updata6 = nil
updata7 = nil
updata8 = nil
updata9 = nil
local USER_DIR_PATH = "/user_data" --数据保存的位置
local filehandle; --所有的文件读取使用
local ABUpdataFile = "A"
updataFlage = false
--[[获取执行哪一份程序]]
filehandle=io.open(USER_DIR_PATH.."/ABUpdataFile.lua","r")--执行哪一份程序
if filehandle then
ABUpdataFile = filehandle:read("*all")--读出文件内容
filehandle:close()--关闭文件
end
filehandle=io.open(USER_DIR_PATH.."/version1.lua","r")--读出云端版本
if filehandle then
if filehandle:read("*all") ~= "0.0.0" then
updataFlage = true
end
filehandle:close()--关闭文件
end
if updataFlage == false then
if ABUpdataFile == "A" then
print("run:A");
updata0 = require "Aupdata0"
updata1 = require "Aupdata1"
updata2 = require "Aupdata2"
updata3 = require "Aupdata3"
updata4 = require "Aupdata4"
updata5 = require "Aupdata5"
updata6 = require "Aupdata6"
updata7 = require "Aupdata7"
updata8 = require "Aupdata8"
updata9 = require "Aupdata9"
else
print("run:B");
updata0 = require "Bupdata0"
updata1 = require "Bupdata1"
updata2 = require "Bupdata2"
updata3 = require "Bupdata3"
updata4 = require "Bupdata4"
updata5 = require "Bupdata5"
updata6 = require "Bupdata6"
updata7 = require "Bupdata7"
updata8 = require "Bupdata8"
updata9 = require "Bupdata9"
end
end
大家发没发现一个问题,WIFI使用的时候不需要
只要是其它函数里面的全局变量,直接用就可以,但是GPRS不可以
我为了可以文件之间互相访问,所以才这样弄的
有没有疑问我为什么没有放到main.lua里面
其实一开始我就放到了mian.lua里面,但是发现main里面的变量只能使用...在别的文件里面不能对其赋值
大家如果不信自己可以测试下.....
另外,我的程序里面使用的复位是
原因是我发现原先的sys.XXX 忘了具体函数了...复位以后呢!还会有残留的程序在里面运行
还有个要说的,其实和咱升级无关
那天有人问,设置了引脚为输出了,现在想读取引脚的状态怎么读,难道再设置为输入???搞笑...
其实直接可以读
网友评论