- 博客(102)
- 收藏
- 关注
原创 Ymodem协议解析以及实际报文讲解
当帧头为0x02开始的数据包,数据段的长度为1024字节,总长度为1029:帧头(1字节)+包号(1字节)+包反码(1字节)+数据段(1024字节)+校验码(2字节 CRC校验)当帧头为0x01开始的数据包,数据段的长度为128字节,总长度为133:帧头(1字节)+包号(1字节)+包反码(1字节)+数据段(128字节)+校验码(2字节 CRC校验)YModem-1K使用1024字节(1K)的数据块进行传输,相比标准的YModem(128字节块)提高了传输效率。FF 是帧序号的补码(校验用)。
2025-11-30 11:28:25
1061
原创 GD32F5 error:‘mpu_armv8.h‘ file not found
今天突然出现这个错误,把文件夹里面的core_cm33.h 删除就可以解决。
2025-08-25 10:15:59
141
原创 mqtt连接 错误码解决
双向认证(“双方互相校验”)是在单向认证的基础上,再由服务端要求客户端出示并校验客户端证书(或采用 TLS-PSK 身份),客户端需要配置 own cert/key 或 PSK。- 单向认证(常说的“仅校验服务端”)时,客户端应当启用证书校验,使用 VERIFY_REQUIRED 来强制校验证书链,并配置服务端 CA;- MBEDTLS_SSL_VERIFY_OPTIONAL:若对端提供证书则校验,不提供也继续(客户端场景毫无意义,仍不安全)- 单向认证:客户端校验服务端证书即可。
2025-08-20 08:51:38
1038
原创 mbedtls ssl handshake error,res:-0x2700
在_tls_network_establish函数中加入。原因解释:用连接方式是不用证书认证/跳过服务端认证。用LinkSDK.c连接第三方云平台出现现象。
2025-06-25 13:25:47
507
原创 单片机 code RO-data RW-data ZI-data以及OTA学习
很巧妙的是Code+Ro-data=135908+10108=146016 =0x0002 3A60 ,0x08020000+0x00023A60=0x0804 3a60。是什么:我个人的理解 code 和RO-data 分别是代码和只读数据,RW-data以及ZI-data分别是读写数据和初始化数据。code+RO-data的大小正好是所占用ROM的大小,ROM在这里我认为是单片机的flash。RW-data+ZI-data是占用RAM的大小,RAM这里我认为是单片机的SRAM。
2025-02-21 21:23:37
605
原创 vscode Erase Failed!Error: Flash Download failed - “Cortex-M4“
发现配置的文件地址不对,我电脑上有两个版本的keil5,一个是5.25,一个是5.33。解决:把地址换成keil5 的5.33的地址就好了。
2024-11-11 08:32:43
462
原创 MCU SCT文件学习
通过查阅手册《GD32F4XX_应用手册》,如下图1,图2,图3,发现IRAM2使用的TCMSRAM,这一块SRAM是不支持使用DMA,如果DMA取的地址在0x1000 0000 -0x1000 FFFF,是取样不出来的。开始猜测是线程重入,破坏了地址,后来思考一下发现不对,因为注释掉线程,ADC+DMA采样无效。开启线程,发现ADC+DMA采样有效。现象:注释掉一些线程,发现ADC采样的线程采样不到数据了。注意这种方法使用的编译器是AC5,AC编译器查看。外设:FreeRtos,ADC,DMA。
2024-10-26 22:00:35
731
原创 虚拟机使用FileZilla软件实现文件互传
File安装与连接参考《[正点原子] 1.MX6U嵌入式Linux驱动开发指南V1.6.;软件版本:FizeZilla 3.63.2 VirtualBox7.0.20。3.在终端打开控制台安装FTP服务。在控制台输入ifconfig。1.设置桥接模式(网卡)
2024-09-24 21:21:42
896
原创 vscode idf.py menuconfig 界面无法上下界面
退出这个界面,在终端里面输入start cmd,在cmd界面输入idf.py menuconfig 就可以了。或者点击串口那一行进行配置。
2024-07-30 16:09:21
938
1
原创 Visual stdio code 运行C项目环境搭建
这个软件在我新硬盘F:\工具\vscode_环境准备 里面,然后新建环境变量[1],再去装Visual stdio code的包,装完参考[2]进行 C++环境配置,直接先建立工程,然后选择c++ gdb 环境配置,然后选择用gcc编译生成。先装visual stdio code ,然后再装。
2024-07-26 15:14:07
288
原创 conda py3.6 open3d 和pcl库安装
在anaconda下安装了好几次都失败了,在Python的环境库里面找也找不到 ,于是在pycharm的控制台里面输入。anaconda下输入conda install open3d 基本上安装失败了。成功,不知道为什么还了个版本就成功。
2024-01-24 11:25:27
1024
原创 WARNING: Target directory e:\py3.6.8\lib\site-packages\et_xmlfile already exists. Specify --upgrade
因为在Pycharm 里面的Terminal使用pip install 命令,他就给你装在默认环境里面。这里我的是用anaconda的虚拟环境。
2023-12-02 10:05:05
2390
原创 力扣:67.二进制求和
假如两个数字110和1101,通常都思维上都是前面去补0,那么这道题就用了一个反向操作,将字符串进行遍历想加,那么一开始计算的位置就是最低位,如果遍历的索引号是小于a.size那么返回a的第i位转字符串并且加到进位上,b字符串进行相同的操作,如果一样也返回加到进位上,并且对进位进行进行取2的模,OK 把这个模压入栈中 ,并且要更新进位,如果10进制进行相机为2,那么进位的模就1,直接对它进行除2就可以了。最后进行翻转reverse(ans.begin(),ans.end())这里涉及到 (c)?
2023-11-07 19:57:49
366
原创 力扣35.搜索插入位置
分析:利用二分法,不停的逼近这个值,如果目标值小于二分法求取的中间索引的这个值,那么首先保存这个索引值,第二右边的索引值等于mid-1,就是向左去夹近。如果target大于这个值则左边界+1,每次mid的值是right-left的和>>1并且加上lef。
2023-11-06 12:23:18
180
原创 28.找出字符串中第一个匹配项的下标
i是母字符串的当前索引,m是子字符串的长度,n的母字符串的长度,进入遍历循环,先将flag置1,进入for循环遍历当前索引下的母字符是否等于子字符,如果当前索引下母子字符不相等,重新从第二个位置开始判断,回答第一层For,进入第二层for,此时第一层for,i++了,进行j次判断,判断到了母子字符不相等,如果有一个不相等,那么又从来。如果此时相等,继续判断,如果i+j索引号等于子字符串needle[j]了遍历到最后一个,这进入判断返回i.
2023-11-05 20:42:07
163
原创 【无标题】
k=1,i=1,遍历nums从第二个之后的所有元素,如果这个元素不等于前一个,那么把这个元素加入第k个,有多少个不同的就有k个元素,所以if里面要执行k++。这里不懂为什么返回值是一个nums数组。这道题用暴力解法即可啊,因为题目给定的数组是非严格递增的,如果前一个数组不等于就加入到新的数组里面。
2023-11-04 21:45:27
280
原创 力扣:有效的括号
讲一下思路吧这里定义了一个map,都是字符类型的,对应了键和值的操作。定义了一个栈,这个栈是一个线性结构,开始遍历,目前还是不知道这里为什么用for(char ch:s),然后去搜索,得到参考文档[1]。如果是右括号,就返回1,左括号返回0.GPT搭的好像不是很对,然后如果是右括号,就进入如下判断,首先判断这个容器是是否为空栈或者栈顶不等于当前键和值,栈顶的元素,比如(要与)配对即stk.top() == pairs[ch] ,如果不是一对就返回false,心得:这道题利用了栈的后进先出的原理。
2023-11-04 19:11:18
384
原创 力扣:求最长公共前缀
首先还是熟悉的操作,声明一个 类,这个类叫Solution,定一个一个共有成员,String longestCommonPrefix,首先要判断字符串是否为空,用一个变量存储字符串的大小,并且遍历第一个字符串的数组,并且把第一个字符串的i个字符存储到变量,那么去用第一个字符串的i个字符去与其他字符串进行判断,如果其他字符串(比如第j个)如果当前字符串的第i个索引等于j个字符串长度或者不等于第j个字符串的第i个索引,那么就返回前面的索引。输入: strs = ["dog","racecar","car"]
2023-11-03 20:20:34
230
原创 力扣:环于杆,简单题
/vector<vector<int>> state(POLE_NUM, vector<int>(COLOR_NUM, 0)):这部分代码创建了一个长度为 POLE_NUM 的二维向量,其中每个元素都是一个长度为 COLOR_NUM 的一维向量。整个二维向量表示了所有杆子的颜色情况。POLE_NUM 表示杆子的数量。//vector<int>(COLOR_NUM, 0)这部分代码创建了一个COLOR_NUM 一维向量,并将每个元素初始化魏0,
2023-11-02 18:56:50
165
原创 C++函数重载和函数重写的区别,请举例说明
C++中的函数重载(function overloading)和函数重写(function overriding)是两种不同的概念,它们用于不同的编程场景,有着不同的特点。函数重写实现了多态性,允许在运行时根据对象的实际类型来调用合适的函数。这两个函数都有相同的名称但不同的参数列表,这就是函数重载。函数时,由于它是虚函数,并且根据对象的实际类型来选择调用的函数,所以将分别调用。这是多态性的体现,因为我们可以通过基类指针调用派生类的函数。函数时,将根据对象的实际类型调用合适的函数。我们创建了两个派生类。
2023-09-06 15:00:38
236
原创 stm32F103 WIFIESP8266模块连接阿里云平台
AT+MQTTCLIENTID=0,"ClienId"//clientId第二个参数注意每个逗号后加分隔符“\”,已踩过坑,例如:t|securemode=3\,signmethod=hmacsha1\。第一次这里返回了+MQTTDISCONNECTED:0。最后连接订阅topic很不顺利,多刷几次网页就好了。我用的固件是这个,刷固件之后,可以连上阿里云。这里这篇博客提到的固件是错误的。这里我是在逗号之前加入\符号。其次返回了Error。
2023-05-01 22:42:44
2208
原创 EC20免驱版 TX2无法使用
AT+QICSGP=1,1,"UNINET","","",1 //配置场景1,APN 配置为"UNINET"(中国联通)。配置第一路的APN,插移动的卡就配置移动的APN。再次发送AT+QNETDEVCTL=3,1,1。返+QNETDEVCTL:3,1,0,1。2发送指令(这个指令不知道问题)输入AT+QNETDEVCTL?输入AT+QNETDEVCTL?返回+QNETDEVCTL?本来我按照王工的输入。
2023-03-20 15:23:07
1412
原创 YOLOv5 Grad CAM报错:keyerror:cv3
yolov5 7.0热力图实验,加入了shufflenetv2 conv5 - ..yaml文件。打开模型的yaml文件。找到detect的层数。然后在main_gradcam.py文件中。用自己的权重生成热力图。这三个数字改成自己的网络结构。2-23年3月20日,
2023-03-20 13:20:19
742
原创 U盘插入Linux系统权限仅有只读
然后插入TX2下,变成只读。有些文件夹还不能复制了。U盘插入windows下,一直提示要修复。解决方法:换了一个U盘。
2023-01-01 12:30:46
501
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅