96SEO 2026-02-20 08:00 19
BL0942默认串口波特率可以通过SCLK_BPS引脚接3.3V电源设置到9600bps

v1.06版的特殊寄存器说明注意早期版本特殊寄存器说明存在错误
***n--添加硬狗防止程序卡死在支持的设备上启用这个功能wdt.init(9000)--初始化watchdog设置为9ssys.timerLoopStart(wdt.feed,
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串口波特率)
uart.close(UART_ID1)--此代码注释掉也能实现波特率更改result1
uart.setup(UART_ID1,--串口id38400,--波特率8,--数据位1--停止位)print(已改变Air700
BL0942_Write(UART_ID1,bl0942.USR_WRPROT,0xff,0x00,0x00)sys.publish(38400)BSP_FLAG0BAUD_CHANGED_FLAG1end
sys.subscribe(38400,function()uart.on(UART_ID1,
endtable.insert(UART1receQueue,
s)endsys.timerStart(sys.publish,
--可能会有全电参数数据包的23个字节混入必须剔除return
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)--
string.char(m[1],m[2],m[3])local
m_temp)print(string.format(MODE%d,mode))endif
{}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
string.char(c[1],c[2],c[3])local
print(string.format(energy%d,energy))--
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
,pub_cur,pub_vol,pub_energy))--
频率%0.1fHz,Current,Voltage,Energy,Wat,Freq))end
0sys.timerLoopStart(function()if
***nuartimeout25BL0942_Read(UART_ID1,0xAA)--V_RMS
读取全电参数数据包RD_DATA_REGISTER_FLAG1
1000)sys.timerLoopStart(function()if
***nuartimeout5BL0942_Read(UART_ID1,bl0942.MODE)
--读0x19用户模式选择寄存器RD_SPECIAL_REGISTER_FLAG1RD_DATA_REGISTER_FLAG0end
用户代码已结束---------------------------------------------
sys.run()之后后面不要加任何语句!!!!!bl0942.lua
--305978*(3.3*1000)/2000DOUBLE_FS
--3537*(3.3*1000/2000)*0.0249*1000E_PER_PLUSE0.000118942bl0942
--状态寄存器---------用户操作寄存器读写--------------------I_RMSOS
--用户写保护设置寄存器。
--写入0x55后用户操作寄存器可以写入--写入其他值用户操作寄存器区域不可写入},__newindex
Check_ConStat(HEAD,address,data0_7,data8_15,data16_23)local
sumHEADaddressdata0_7data8_15data16_23local
checksumbit.bnot(sumAnd)--这个输出位数大于2个字节,其十进制数位-207
resultbit.band(checksum,0xff)--保证校验位1个字节,去除前面的14个FFreturn
BL0942_Read(ID,address)uart.write(ID,string.char(bl0942.READ_HEAD,address))
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))
代码实现了读取全电数据包和0x19寄存器的功能特别注意在分别解析串口返回的数据时对数据的长度进行了判断对不符合解析长度的数据包进行了丢弃保证了数据的准确性。
注意交替循环读会出现电流显示600多ma的数据目前我还没有解决如果单独读取全电数据包能正常准确解析数据。
读特殊寄存器一般用于调试阶段。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback