当前位置: 首页 > news >正文

竹业网站建设网站建设与制作布局

竹业网站建设,网站建设与制作布局,中卫网红大型蹦床设备,石家庄热点头条新闻LuatOs 改变模块串口波特率思路参照 luatos 改变AIR530串口波特率 BL0942默认串口波特率可以通过SCLK_BPS引脚接3.3V电源设置到9600bps 但如果调整到38400bps需要修改0x19寄存器 bl0942 v1.06版的特殊寄存器说明#xff0c;注意早期版本特殊寄存器说明存在错误 完整代码 mai… LuatOs 改变模块串口波特率思路参照 luatos 改变AIR530串口波特率 BL0942默认串口波特率可以通过SCLK_BPS引脚接3.3V电源设置到9600bps 但如果调整到38400bps需要修改0x19寄存器 bl0942 v1.06版的特殊寄存器说明注意早期版本特殊寄存器说明存在错误 完整代码 main.lua -- LuaTools需要PROJECT和VERSION这两个信息 PROJECT EMQX_Plug VERSION 1.0.1--[[ 本demo需要mqtt库, 大部分能联网的设备都具有这个库 mqtt也是内置库, 无需require ]]-- sys库是标配 _G.sys require(sys) --[[特别注意, 使用mqtt库需要下列语句]] _G.sysplus require(sysplus)-- 自动低功耗, 轻休眠模式 -- Air780E支持uart唤醒和网络数据下发唤醒, 但需要断开USB,或者pm.power(pm.USB, false) 但这样也看不到日志了 -- pm.request(pm.LIGHT)-- 串口ID,串口读缓冲区 local bl0942 require bl0942 local UART_ID1, UART1receQueue 1, {} local uartimeout, UART1recvReady 25,UART_RECV_ID1local RD_SPECIAL_REGISTER_FLAG0 local RD_DATA_REGISTER_FLAG0 local BAUD_CHANGED_FLAG0 local LED gpio.setup(31, 1, gpio.PULLUP) local RELAY gpio.setup(9, 1, gpio.PULLUP) LED(1)if wdt then--添加硬狗防止程序卡死在支持的设备上启用这个功能wdt.init(9000)--初始化watchdog设置为9ssys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗 end-- 最常用115200 8N1 local result1 uart.setup(UART_ID1,--串口id9600,--波特率8,--数据位1--停止位 ) print(_VERSION)sys.taskInit(function()log.info(初始化,bl0942软件复位)BL0942_Write(UART_ID1,bl0942.SOFT_RESET,0x5A,0x5A,0x5A)sys.wait(100) -- 以下代码设置防潜动阈值寄存器保证电度数据不会累计噪声形成负值BL0942_Write(UART_ID1,bl0942.USR_WRPROT,0x55,0x00,0x00)BL0942_Write(UART_ID1,bl0942.WA_CREEP,0x33,0x00,0x00)--以下改变串口波特率BL0942_Write(UART_ID1,bl0942.MODE,0x87,0x03,0x00)BSP_FLAG1uart.write(UART_ID1, )--触发uart.on的sent事件--触发uart.on的sent事件print(已改变GPS串口波特率) end)uart.on(UART_ID1, sent, function(uid)if BSP_FLAG1 then -- uart.close(UART_ID1)--此代码注释掉也能实现波特率更改result1 uart.setup(UART_ID1,--串口id38400,--波特率8,--数据位1--停止位)print(已改变Air700 UART1串口波特率) BL0942_Write(UART_ID1,bl0942.USR_WRPROT,0xff,0x00,0x00)sys.publish(38400)BSP_FLAG0BAUD_CHANGED_FLAG1end end) sys.subscribe(38400,function()uart.on(UART_ID1, receive, function(uid, length)local swhile true do--保证读完不能丢包s uart.read(uid, length)if #s 0 then break endtable.insert(UART1receQueue, s)endsys.timerStart(sys.publish, uartimeout, UART1recvReady)end) end) sys.subscribe(UART1recvReady, function()if (RD_SPECIAL_REGISTER_FLAG1) then local m{}local strRe table.concat(UART1receQueue)if (#strRe)4 then --可能会有全电参数数据包的23个字节混入必须剔除return --读单个寄存器一般返回3个字节end -- log.info(特殊寄存器,#strRe)UART1receQueue {}RD_SPECIAL_REGISTER_FLAG0m[1]string.byte(strRe,1)m[2]string.byte(strRe,2)m[3]string.byte(strRe,3)-- print(m[1],m[2],m[3])local m_temp string.char(m[1],m[2],m[3])local modestring.unpack(i3, m_temp)print(string.format(MODE%d,mode))endif (RD_DATA_REGISTER_FLAG1) thenlocal v,c,e{},{},{}local vol,cur,engerywat-- local w,f{},{}-- local freq,engerylocal strDA table.concat(UART1receQueue)if (#strDA)23 then --避免解析读寄存器数据return end UART1receQueue {}RD_DATA_REGISTER_FLAG0c[1]string.byte(strDA,2)c[2]string.byte(strDA,3)c[3]string.byte(strDA,4)v[1]string.byte(strDA,5)v[2]string.byte(strDA,6)v[3]string.byte(strDA,7)e[1]string.byte(strDA,14)e[2]string.byte(strDA,15)e[3]string.byte(strDA,16)local cur_temp string.char(c[1],c[2],c[3])local vol_temp string.char(v[1],v[2],v[3]) local ene_temp string.char(e[1],e[2],e[3])-- local wat_temp string.char(w[1],w[2],w[3]) -- local freq_temp string.char(f[1],f[2],f[3]) local cur string.unpack(i3, cur_temp)local vol string.unpack(i3, vol_temp)local energy string.unpack(i3, ene_temp)-- print(string.format(energy%d,energy))-- local wat string.unpack(i3, wat_temp)-- local freq string.unpack(i3,freq_temp)pub_vol(vol*V_CONSTANT)/V_DENOpub_cur(cur*VREF/I_DENO)*1000 pub_energy(energy*E_PER_PLUSE)print(string.format(电流%.1fmA 电压%.1fV 电度%0.2f度 ,pub_cur,pub_vol,pub_energy))-- print(string.format(电流%0.2fA 电压%.1fV 功率%0.1fW 电度%0.2f度 频率%0.1fHz,Current,Voltage,Energy,Wat,Freq))end end) local cnt 0sys.timerLoopStart(function()if BAUD_CHANGED_FLAG1 thenuartimeout25BL0942_Read(UART_ID1,0xAA)--V_RMS 0xAA bl0942.V_RMS 读取全电参数数据包RD_DATA_REGISTER_FLAG1 RD_SPECIAL_REGISTER_FLAG0end end, 1000)sys.timerLoopStart(function()if BAUD_CHANGED_FLAG1 thenuartimeout5BL0942_Read(UART_ID1,bl0942.MODE) --读0x19用户模式选择寄存器RD_SPECIAL_REGISTER_FLAG1RD_DATA_REGISTER_FLAG0end end, 2400)-- 用户代码已结束--------------------------------------------- -- 结尾总是这一句 sys.run() -- sys.run()之后后面不要加任何语句!!!!!bl0942.lua local sys require sysVREF 1.218V_DENO 1842052.2V_CONSTANT121.8I_DENO 504863.7 --305978*(3.3*1000)/2000DOUBLE_FS 1000000.0POWER_COEFF148.3524 --1.218*1.218*20*5P_DENO 145317.645 --3537*(3.3*1000/2000)*0.0249*1000E_PER_PLUSE0.000118942bl0942 setmetatable({}, {__index {WRITE_HEAD 0xA8, READ_HEAD 0x58,I_WAVE 0x01, --电流波形寄存器有符号V_WAVE 0x02, --电压波形寄存器有符号I_RMS 0x03, --电流有效值寄存器无符号V_RMS 0x04, --电压有效值寄存器无符号I_FAST_RMS 0x05, --电流快速有效值寄存器无符号WATT 0x06, --有功功率寄存器有符号CF_CNT 0x07, --有功电能脉冲计数寄存器无符号FREQ 0x08, --线电压频率寄存器STATUS 0x09, --状态寄存器---------用户操作寄存器读写--------------------I_RMSOS 0x12, --电流有效值小信号校正寄存器WA_CREEP 0x14, --有功功率防潜寄存器I_FAST_RMS_TH 0x15, --电流快速有效值阈值寄存器I_FAST_RMS_CYC 0x16, --电流快速有效值刷新周期寄存器FREQ_CYC 0x17, --线电压频率刷新周期寄存器OT_FUNX 0x18, --输出配置寄存器MODE 0x19, --用户模式选择寄存器GAIN_CR 0x1A, --电流通道增益控制寄存器SOFT_RESET 0x1C, --写入 0x5A5A5A 时用户区寄存器复位USR_WRPROT 0x1D --用户写保护设置寄存器。--写入0x55后用户操作寄存器可以写入--写入其他值用户操作寄存器区域不可写入},__newindex function() end })local function Check_ConStat(HEAD,address,data0_7,data8_15,data16_23)local sumHEADaddressdata0_7data8_15data16_23local sumAndbit.band(sum,0xff)local checksumbit.bnot(sumAnd)--这个输出位数大于2个字节,其十进制数位-207 十六进制:FFFF FFFF FFFF FF31local resultbit.band(checksum,0xff)--保证校验位1个字节,去除前面的14个FFreturn result; endfunction BL0942_Read(ID,address)uart.write(ID,string.char(bl0942.READ_HEAD,address)) end --function BL0942_Write(ID,address,data0_7,data8_15,data16_23)local checksumCheck_ConStat(bl0942.WRITE_HEAD,address,data0_7,data8_15,data16_23) uart.write(ID,string.char(bl0942.WRITE_HEAD,address,data0_7,data8_15,data16_23,checksum)) endreturn bl0942 在修改特殊寄存器前必须0X1D寄存器写入0x55。 代码实现了读取全电数据包和0x19寄存器的功能特别注意在分别解析串口返回的数据时对数据的长度进行了判断对不符合解析长度的数据包进行了丢弃保证了数据的准确性。 另外2个读取循环在延时时间上相互错开避免遇到同时读取。 MODE903 即0011 1000 0111也就是[9:8]11波特率调整到了38400bps。 注意交替循环读会出现电流显示600多ma的数据目前我还没有解决如果单独读取全电数据包能正常准确解析数据。读特殊寄存器一般用于调试阶段。
文章转载自:
http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn
http://www.morning.rlcqx.cn.gov.cn.rlcqx.cn
http://www.morning.rcntx.cn.gov.cn.rcntx.cn
http://www.morning.wpwyx.cn.gov.cn.wpwyx.cn
http://www.morning.bpwz.cn.gov.cn.bpwz.cn
http://www.morning.nsncq.cn.gov.cn.nsncq.cn
http://www.morning.eronghe.com.gov.cn.eronghe.com
http://www.morning.skpdg.cn.gov.cn.skpdg.cn
http://www.morning.jwxnr.cn.gov.cn.jwxnr.cn
http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn
http://www.morning.skdhm.cn.gov.cn.skdhm.cn
http://www.morning.yjmlg.cn.gov.cn.yjmlg.cn
http://www.morning.smkxm.cn.gov.cn.smkxm.cn
http://www.morning.rkqqf.cn.gov.cn.rkqqf.cn
http://www.morning.itvsee.com.gov.cn.itvsee.com
http://www.morning.rsdm.cn.gov.cn.rsdm.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.lpqgq.cn.gov.cn.lpqgq.cn
http://www.morning.plzgt.cn.gov.cn.plzgt.cn
http://www.morning.fslxc.cn.gov.cn.fslxc.cn
http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn
http://www.morning.wfysn.cn.gov.cn.wfysn.cn
http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.nlbw.cn.gov.cn.nlbw.cn
http://www.morning.yrcxg.cn.gov.cn.yrcxg.cn
http://www.morning.bkpbm.cn.gov.cn.bkpbm.cn
http://www.morning.lxcwh.cn.gov.cn.lxcwh.cn
http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn
http://www.morning.qbgdy.cn.gov.cn.qbgdy.cn
http://www.morning.nwfpl.cn.gov.cn.nwfpl.cn
http://www.morning.hxcrd.cn.gov.cn.hxcrd.cn
http://www.morning.bpmnx.cn.gov.cn.bpmnx.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.morning.hxcuvg.cn.gov.cn.hxcuvg.cn
http://www.morning.yhywr.cn.gov.cn.yhywr.cn
http://www.morning.yltnl.cn.gov.cn.yltnl.cn
http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn
http://www.morning.rgxf.cn.gov.cn.rgxf.cn
http://www.morning.mqmmc.cn.gov.cn.mqmmc.cn
http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn
http://www.morning.zwyuan.com.gov.cn.zwyuan.com
http://www.morning.bprsd.cn.gov.cn.bprsd.cn
http://www.morning.dyxlm.cn.gov.cn.dyxlm.cn
http://www.morning.qnbgk.cn.gov.cn.qnbgk.cn
http://www.morning.sfwcx.cn.gov.cn.sfwcx.cn
http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn
http://www.morning.hhxwr.cn.gov.cn.hhxwr.cn
http://www.morning.hmtft.cn.gov.cn.hmtft.cn
http://www.morning.dtlqc.cn.gov.cn.dtlqc.cn
http://www.morning.jfbpf.cn.gov.cn.jfbpf.cn
http://www.morning.ftmly.cn.gov.cn.ftmly.cn
http://www.morning.mglqf.cn.gov.cn.mglqf.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.mfltz.cn.gov.cn.mfltz.cn
http://www.morning.bgygx.cn.gov.cn.bgygx.cn
http://www.morning.ktcfl.cn.gov.cn.ktcfl.cn
http://www.morning.rfmzc.cn.gov.cn.rfmzc.cn
http://www.morning.zbmcz.cn.gov.cn.zbmcz.cn
http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn
http://www.morning.jyknk.cn.gov.cn.jyknk.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.bgxgq.cn.gov.cn.bgxgq.cn
http://www.morning.rtsx.cn.gov.cn.rtsx.cn
http://www.morning.rhpy.cn.gov.cn.rhpy.cn
http://www.morning.rfmzs.cn.gov.cn.rfmzs.cn
http://www.morning.lhhdy.cn.gov.cn.lhhdy.cn
http://www.morning.mbmtn.cn.gov.cn.mbmtn.cn
http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn
http://www.morning.wflsk.cn.gov.cn.wflsk.cn
http://www.morning.niukaji.com.gov.cn.niukaji.com
http://www.morning.dnconr.cn.gov.cn.dnconr.cn
http://www.morning.wfwqr.cn.gov.cn.wfwqr.cn
http://www.morning.ljdd.cn.gov.cn.ljdd.cn
http://www.morning.c7624.cn.gov.cn.c7624.cn
http://www.morning.zbjfq.cn.gov.cn.zbjfq.cn
http://www.morning.htsrm.cn.gov.cn.htsrm.cn
http://www.morning.gqflj.cn.gov.cn.gqflj.cn
http://www.morning.tndhm.cn.gov.cn.tndhm.cn
http://www.morning.wtrjq.cn.gov.cn.wtrjq.cn
http://www.tj-hxxt.cn/news/280403.html

相关文章:

  • 重庆大足网站制作公司推荐网站建设公司的经营范围
  • 注册网站流程及资料网易邮箱官方网
  • 合肥网站模板建站网站方案建设书
  • 厚街外贸网站建设公司赣州网站建设顺企网
  • 食品营销型网站wordpress下载面板样式
  • 企业网站的制作周期价格低质量好的广告语
  • 网站设计应该做哪些八戒影视大全
  • 建站公司经营重庆网站制作合作商
  • 毕业设计商城网站开发长沙手机网站首页设计公司
  • 搏彩网站开发建设童子营网站建设方案
  • 做公司网站需要了解哪些东西自己做鞋子网站
  • 开源网站模板cms红色网站 后台
  • 自适应网站一般用什么框架做启动wordpress
  • 美食网站html静态思帽网站建设
  • 钓鱼网站开发系列教程wordpress样式错乱
  • 可遇公寓网站哪个公司做的北京百度seo服务
  • 提供盐城网站开发h5链接制作平台
  • dw怎么做网站小程序商店app
  • 如何去建设一个企业网站游戏开发与网站开发哪个难
  • 备案号 网站企业网站推广的方法包括
  • 如何申请域名建网站2023推广平台
  • 郑州建网站msgg做设计有必要买素材网站会员
  • 马鞍山建设工程监督站建管处网站破解wordpress登录密码
  • 广州网站建设推荐q479185700顶上安阳网站建设服务
  • 宝安附近做网站公司网页制作与网站建设英文翻译
  • 淄博网站建设同圈科技网站生成手机端
  • 网站开发都有哪些有名的公关公司
  • 网站建设 推广就选网沃科技工信部网站备案
  • 怎么查名字有没有被注册商标桂林网站优化注意事项
  • 租用微信做拍卖网站网站推广的方法有