分类: 工作记录

38 篇文章

内存泄漏、字节对齐、数组越界
atoi (表示ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。 int atoi(const char *nptr) 函数会扫描参数nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。 如果nptr不能转换成int 或者nptr为空字符串,那么将返回0 。 小心字节对齐方面的问题: 以…
C中常用库函数 (TODO: 持续更新)
C中常用库函数 (TODO: 持续更新) [toc] string 数据处理 strstr( ) 查找子串 /* 匹配test_rx_buf 中是否有 "upload",如有就返回其索引 函数返回值是一个指向第一次出现子字符串的指针,如果未找到子字符串,则返回NULL */ if (strstr(test_rx_buf, "upload") != …
友讯达模块学习记录 (不适合阅读)
友讯达模块学习记录 1. 软件功能的使用 设备可以设置为3种模式 (Master/slaver/repeater(中继) ) 下图的信息设置,这里就是C字段 和CI 字段中间部分 表示设备制造信息, M1、M2是制造商域,ID1~ID4 表示的是身份识别域 具体的帧结构如下: Data存放的是具体要发送的数据,C-Field 字段表示 是主机发给从…
友讯达模块调试笔记
友讯达模块调试笔记 仪表为 Slave 模式, 主动上报数据, 网关为 Master 模式, 负责接收数据 模块配置 设备以 ATJ 为起始指令, 配置结束后通过 ATJX 退出寄存器配置模式, 再用 ATQ 退出配置模式, 配置命令执行成功均会返回 OK 配置模式包含两种, AT 命令和寄存器配置命令, AT 命令掉电丢失, 寄存器命令掉电保存,…
友讯达模块调试笔记
友讯达模块调试笔记 仪表为 Slave 模式, 主动上报数据, 网关为 Master 模式, 负责接收数据 模块配置 设备以 ATJ 为起始指令, 配置结束后通过 ATJX 退出寄存器配置模式, 再用 ATQ 退出配置模式, 配置命令执行成功均会返回 OK 配置模式包含两种, AT 命令和寄存器配置命令, AT 命令掉电丢失, 寄存器命令掉电保存,…
TCP 建立http.request() 连接请求的注意事项,以及当时在和onenet 云平台连接遇到的困难
2023-4-7 更新设备信息, 通过注册码实现自动注册设备,刷入固件就注册。 Lua 中的回调函数注意事项 在回调函数中,无法将回调函数中的值传给外面,那么应该怎么办呢? 这个问题有了答案,就是回调函数 和 外部函数 同时运行的时机,外部函数要在回调函数之后拿取数据,最好加一个延时函数,保证回调函数nvm 写完之后在执行 读取nvm的操作(之前产…
关于Lua 语言中”:”的使用,以及MQTT 遇到的问题
关于Lua 语言中:的使用,以及MQTT 遇到的问题 博客文档 Lua 中关键字self 类似于C++ 的this 关键字。而且,Lua 中的 ":" 代表隐藏这个参数,需要使用self 来进行调用。(强烈建议看前方的[ 博客文档 ] ) self 就是给Lua 的冒号提供的关键字,为了让语法更加简洁。 self指向的是自己:前…
MQTT第一次建立连接时候,发现并解决的问题
今天遇到的问题和解决办法。 MQTT 其中token 的加密方式 无论是 md5 还是 sha256都可以,因为在token 的字段里面保存了加密方式,如下图,是可以被服务器解码的. 注意:加密方法不只是单纯地改method 的字段,改了字段之后,下面的计算sign 的算法函数也要更改,否则云平台会报错1006,签名不匹配, 订阅发布函数,在调用的…