自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 搭建虚拟环境实现的Python版本切换

有些Python库和模块可能只支持特定的Python版本。如果你需要使用某个库或者模块,往往需要选择与其兼容的Python版本。不同版本的Python会有不同的性能表现。有些版本可能会更快或者更高效地运行你的代码。如果你在某个版本上遇到了性能问题,可能需要尝试在其他版本上运行以获得更好的性能。如果使用 Python 2.7 编写程序,它可能不能 Python 3.10 上运行,因为它们版本不同。选择 Python 3.10.X(将 X 替换为可用的最大数字),或者你需要的版本。是 Python 的内置包。

2024-06-14 10:12:20 3427

原创 C语言中的static关键字

1. 静态局部变量:在函数内部定义的静态局部变量,其生命周期为整个程序运行期间,但只能在该函数内部访问。4. 静态初始化:在声明变量时使用static关键字进行初始化,这种初始化只会在程序开始时执行一次,之后的每次引用都是对同一个变量的引用。3. 静态函数:在函数前加上static关键字,表示该函数的作用域仅限于当前源文件。在一个被调用的函数里面声明的时候,可以让变量不会在每次进入函数的时候都被重新赋值,而是单独开辟一个空间给他。2. 静态全局变量:在函数外部定义的静态全局变量,其作用域仅限于当前源文件。

2025-11-19 21:36:13 345

原创 OTA失败的原因排查

更换产品协议过程,由于移植时错误的改动,导致了蓝牙OTA失败,而所有的修改看上去似乎都与OTA无关,改动的都是用户协议、蓝牙广播,以及传输的一些内容。OTA的协议是独立的,改动点几乎可以说没有关系。但是bug之所以被叫bug,是因为它不该发生,但就是发生了。

2025-11-19 21:33:51 294

原创 选手评分问题(python)

'张三',9.5,9.8,9.7,9.6,9.5,9.9,9.6,9.2,9.3,9.0],['李四',8.5,8.8,7.7,7.6,8.5,8.3,9.1,7.8,7.5,9.3],计算每位选手的实际得分的规则:去掉一个最高分、一个最低分后计算出平均分(评委的个数大于3个)。['赵六',9.5,9.8,8.7,8.6,7.5,8.8,8.1,9.3,9.2,9.9]['王五',9.5,8.8,7.2,9.6,8.5,6.5,6.3,7,6.9,9],本关任务:编写一个计算选手实际得分的程序。

2025-10-28 20:45:00 283

原创 获取天气数据问题【python】

在右侧编辑器中有个函数Parse,要求在这个函数中,将上述文件的数据部分(即文件第3行开始)解析成一个多级字典,并返回这个字典。其中第1行是数据的表头(分别表示年、月、最高温度、最低温度等信息),第2行是数据对应的单位,从第3行开始是具体的数据。'张三':{'学号':201111, '年级':2020, '专业':'计算机'},'李四':{'学号':201112, '年级':2020, '专业':'英语'}{'学号': 201111, '年级': 2020, '专业': '计算机'}字典的创建与操作(略)

2025-10-28 20:30:00 304

原创 从条件分支与循环的角度,看代码调试思路

在复杂的代码工程里面,遇到bug实在是令人糟心。正所谓"不识庐山真面目,只缘身在此山中",当我们身处工程当中,往往会忘记那些看起来像废话的调试思路。本文从条件分支与循环的角度,为各位读者提供一些代码调试的思路,减少大家“调试半天,却发现解决办法如此简单”的可能性,祝各位早点下班不加班!

2025-10-24 20:00:00 845

原创 运用jieba库解决词频分析问题

例如,topN=3,m=2表示出现频率最高的3个2字词分别是刘备(5次)、关羽(4次)、张飞(2次),那么函数的返回结果应该是[('刘备',5), ('关羽',4), ('张飞',2)]本关任务:设计并调用函数word_analysis(FileName, m, topN),实现筛选出长度为m的词,并统计出出现频率最高的topN个长度为m的词。[('万物之灵', 15), ('不由自主', 12), ('爸爸妈妈', 11), ('自欺欺人', 10), ('爷爷奶奶', 9)]

2025-10-24 19:45:00 209

原创 运行Perl脚本运行失败问题,缺失Archive::Zip

本文介绍了ActiveState Perl的安装和使用方法。首先需访问官网按步骤安装,通过perl -v验证安装成功。若提示缺失Archive::Zip模块,需先激活运行环境(state use ActiveState-Perl-5.36.0),再安装该模块(state install Archive-Zip)。最后可正常运行Perl脚本(perl mytest.pl)。

2025-09-29 10:26:52 317

原创 lvgl动画导致的页面切换死机问题

连续的stytle_init导致的,在动画或动画效果的展示中,我们往往需要刷新新的颜色,指示器的宽度,圆角,进度。我们用树的概念来理解Lvgl,控件是挂载在容器枝干上的,页面容器是挂载在大容器上的。clean容器是必要的操作,它会递归地去释放控件,而定时器也是其中一个轮询对象。以屏幕为一个基底容器时,进入具体页面需要临时转交一个临时容器,基于此容器create(),离开时释放。不同页面不要共用stytle,也不要反复地初始化,不同线程的使用,都会很快占满资源。-- 将此声明放在文章正文内容的最开头 -->

2025-07-25 12:00:00 627

原创 keil 5打开编译keil 4解决方案,兼容exe查找下载

由于芯片类型日益纷繁复杂,以往软件包全塞进编译器的方式不可取。keil 5采用了芯片包与编译器软件分离的形式——需要哪个下载哪个。但是由于工程的特殊性,有时候我们会需要打开Keil 4工程又不想安装一个Keil 4。于是官方推出了兼容程序。将链接后面修改为MDKCM524。问你要不要重装Keil 5,可以跳过。

2025-06-07 14:09:59 411

原创 git推送拉取,远程新建分支,删除回退基本操作【必看】

新建文件夹git initgit status(在所有的add操作前必须查看)git add (一个文件、多个文件,也可以是文件夹)单个文件:windows下txt有可能被添加文件头。二进制文件这些git不识别差异。多个文件文件夹,每一次执行git add操作都会将对应的更改添加至暂存区。最终,暂存区中包含了多次不同的更改,而不是只保存最后一次更改。commit​ -m是message,后面是对提交的说明。​ 提交后可以查看日志,知道版本号可以回退git log​ 可以往新版本走。

2025-06-07 13:52:08 561

原创 NPN、PNP三极管的应用

由于电路知识实在是难以拿出手,在面试的时候被问到三极管相关问题,相当地尴尬。在网上简要地学习了相关的理论知识,在这里给出自己的理解。更为基础的原理在这里并不提及。我们面向实际应用学习即可。我们知道常见的三极管总是硅管,一般我们认为正向压降(就像下楼梯一样,经过元件发生降压称为压降)是0.7V。具体压降需要参考你选用的型号的相关说明书。三极管分为两种,NPN和PNP。N是negative,P是positive,英文有助于我们区分这两种三极管。

2025-05-17 21:25:47 569

原创 HTC1668例程的修正与使用

这个例程只使用了连续地址作为演示,那我们看看固定地址。因为连续发送不知道为啥会出现乱码的情况,我个人建议采用固定地址,更加灵活,方便led分布本身有一定规律的时候扫描减少扫描次数,代码更有逻辑。在使用HTC1668作为LED驱动芯片的过程中,遇到了一些问题,在这里对遇到的两个问题进行总结。而且这个示例也只给出了发一个地址的例程,对于连续发固定地址,没有示例。呵呵,这个表格上面这句话“上电时,地址默认设为C0H”还出现了错别字。大哥,您要不看看说明书。图示地址是错误的,按照demo应该是0xC0为起始地址。

2025-04-09 16:45:56 433

原创 用Beetle ESP32 C6复现ncnn_on_esp32

除了这些,为了排查问题,我把sdkconfig也看了看,有其他的一些参数,需要根据开发板进行设置,不过一般也是看需要,一般就设置flash这些。叠甲:隔得有点久了,不知道实际起作用的是不是,可以看看ncnn需要的是哪个,cmake后续要3.5及以上的。CmakeLists.txt中相对路径改为绝对路径,或是像我一样强行再定义,不是很懂为啥父文件夹的声明,子文件夹引不到。我下载的是esp-idf5.2.3,这和开发板有关,对c6的支持是比较新的,请务必在开始前查询你对应的idf版本。

2024-12-12 11:26:22 691 3

原创 一文终结Arduino ESP32系列开发板下载失败问题

2.下载过程中,会遇到下载缓慢、下载失败的问题,别想着加速和配置IDE代理。下载完一次重新点一次安装,根据新的报错中的"https:github...."(download前面的链接内容都复制)。下一个放一个,下完在IDE里面点击安装获取新的报错,一会就搞好了,才几个搞git clone中断搞半天。搜索日期有时候第一个是某个继承于你搜的这个版本的版本。先在搜索栏搜索日期,或者v5.x.1这样。4.在网页中Ctrl+F,把文件名粘贴进去,不用一个个看。1. 在IDE内搜索esp32,我下载的是3.0.7。

2024-11-20 16:31:00 2923 6

原创 ESP-IDF运行export.sh时遇到“${ZSH_VERSION}“附近有错误

为什么我会下载这个zip,还不是因为拉取这个项目中断了得有十多次之多,而且git clone又久。以为是从主机到虚拟机有隐藏字符,删掉重打;以为有语法问题,手动赋值、改内容。我下载的是5.2.3。传进去虚拟机再解压,同样的操作就不会报错了。一开始我以为是有这个变量没值,于是我下载之后配置。解决办法,找到GitHub的release,下载里面的zip。结果,是因为我是直接下载的GitHub zip导致的!在Ubuntu18.04环境下。

2024-11-13 16:08:11 479 1

原创 arm_acle.h找不到

取消use lastest勾选后,固定CMSIS软件包版本为5.9及以下以配合keilv5.06。检查工程是否在勾选软件包的时候,默认为最后版本。

2024-10-21 21:02:23 1402 5

原创 IAR_Register窗口

​ R1,R2…R12是指寄存器,就RISC架构的ARM单片机而言,他们是用于存放数据,地址的。ARM处理器访问内存时,内存只能由特殊的加载指令读取,数据操作只发生在寄存器。如图所示,处理while(counter

2024-10-14 15:27:18 1304

原创 一篇闪击常用放大器电路(学习笔记)

在理想运算放大器中,当运算放大器工作在线性区时,同相输入端(“ + ”端)与反相输入端(“ - ”端)之间的电压差近似为零,即。

2024-10-14 15:18:59 699

原创 COMPILER_ABSTRACTION头文件的关键字

在查看某个项目工程的过程中发现底层存在一个.c后缀的汇编文件,一时感兴趣注意到asm关键字,往下走发现了这个头文件。current_sp表示当前的堆栈指针,我们可以在Register视图看到SP。inline是内联,与代码优化等级相关,他是建议而不是强制。packed用于压缩字节对齐现象,提高传输速率使用。weak用于解决可能的重定义。align用于指定对齐。通常用于嵌入汇编代码。

2024-10-10 21:30:20 389

原创 模拟电路分析基础知识总结笔记(电子电路分析与设计前置知识)

电容器电压和电感电流都不会瞬间变化。

2024-09-19 16:16:33 2429

原创 Typora Markdown双重下标、下标的下标

2024-09-19 16:04:13 445

原创 PADS9.5 设计规则重置、Logic内能连接Router但连接Layout失败

我之前只设置了logic而没有设置layout,猜想兼容模式的运行是需要A和B都在这个模式,彼此才能发生跳转,除非该软件对这种情况进行了处理。遇到PADS Layout规则反复重置的问题,网上说是同步的时候出现了问题。但是我点击之后却一直提示连接不成功,无论是新建还是打开都不行。对layout也进行兼容性设置和管理员身份运行就好了。在左下角开始搜索laytout,右键打开文件所在位置。突发奇想可能是兼容性问题。

2024-09-09 13:59:33 1461 3

原创 在嵌入式领域,APSR是什么?N、Z、C、B、Q的输出结果是什么含义?

在嵌入式领域,APSR(Application Program Status Register,应用程序状态寄存器)也称为 APSR_nzcvq。APSR 主要用于存储处理器在执行指令过程中的状态标志信息,这些标志可以反映算术和逻辑运算的结果等状态,为程序的流程控制和条件判断提供依据。

2024-08-29 13:12:20 1191

原创 不加volatile关键字,在低优化情况是不是可以认为没影响?

如果没有使用 volatile 关键字,编译器可能会将该变量缓存在寄存器中,并且在后续的访问中直接使用寄存器中的值,而不是从内存中读取最新的值。如果这个计数器变量没有被声明为 volatile,主程序在读取这个计数器时可能会得到错误的值,因为编译器可能会对计数器的读取进行优化,而忽略了中断可能已经修改了这个变量。例如,在控制一个外部设备的状态寄存器时,如果没有使用 volatile,编译器可能会认为多次读取该寄存器的值是相同的,从而进行优化,而实际上硬件可能在任何时候改变该寄存器的值。

2024-08-29 10:16:51 1058

原创 Disassembly窗口信息解读

(register),它表示某个寄存器的内容,16 个寄存器的低位 1 字节、2 字节、4 字节或 8 字节中的一个作为操作数,这些字节数分别对应于 8 位、16 位、32 位或 64 位。在图 3-3 中,我们用符号 rara​ 来表示任意寄存器 a,用引用R[ra]R[ra​]来表示它的值,这是将寄存器集合看成一个数组 R,用寄存器标识符作为索引。在 ATT 格式的汇编代码中,立即数的书写方式是 ‘$’ 后面跟一个用标准 C 表示法表示的整数,比如,$-577 或 $0x1F。main_0指令段,

2024-08-28 20:50:07 1192

原创 Keilv5 逻辑分析仪的使用

通过分析信号的时序,开发人员可以更好地理解系统的操作和性能。当系统出现异常或者故障时,开发人员可以使用逻辑分析仪来捕获相关的信号,并分析这些信号的状态和变化,以找出导致问题的原因。通过对系统信号的分析,开发人员可以找出系统中的性能瓶颈,并采取相应的措施来提高系统的性能。Keilv5逻辑分析仪是Keil MDK集成开发环境(IDE)中的一个工具,用于帮助开发人员进行嵌入式系统的调试和分析。Keilv5逻辑分析仪是一个强大的工具,可以帮助开发人员进行嵌入式系统的调试和分析,从而提高系统的可靠性和性能。

2024-08-27 22:37:32 1196

原创 IAR软件配置笔记

回到主界面,Tools->Options。C/C++ Compiler中配置。Project->Make编译。

2024-08-27 19:48:54 478

原创 cola_os学习笔记(下)

我由此联想到可能存在一种情况,即上层需求和底层接口不符的情况,一个device不能囊括所有的设备应用需求。不过适合的才是最好的,具体问题具体分析。在stm32_usart.c的第139行,我们可以看到:声明为cola_device_ops之后,该结构体变量就能引出下面的那些读写用法。​ 值得注意的是58行,可以得出整体采用的是单链表的结论,而且是从下往上的,从IO到应用层。find是基于对设备name的比较判断实现的,assert用于DEBUG,设备write的入口参数为设备、起始、字符串、长度。

2024-08-25 17:49:06 811

原创 cola_os学习笔记(上)

这个软件架构是我无意间在csdn刷到的。通过学习cola_os,可以了解熟悉一个程序架构需要的部件、项目建设的流程和结构等,由于此项目不像linux一样是开源建设的大工程,该架构提供的大部分内容必然是程序架构必需的,触类旁通。本笔记侧重于对该架构的理解解读,对于作者已经阐述的内容,尽量不重复,一方面是尊重作者的原创内容,另外一方面是希望用自己的话讲述以更好地掌握知识

2024-08-25 15:40:01 1158

原创 从零开始的MicroPython(七) I2C

I2C使用两条线(SDA和SCL)进行数据传输,支持多主机和多从机的连接。硬件 I2C 使用系统的底层硬件支持来执行读/写,并且通常高效且快速,但可能对可以使用的引脚有限制。软件 I2C 是通过位组合实现的,可以在任何引脚上使用,但效率不高。这些类具有相同的可用方法,主要区别在于它们的构造方式。ESP32 支持 I2C 标准模式 (Sm) 和快速模式 (Fm),可分别达到 100 kHz 和 400 kHz。ESP32 有 2 个 I2C 控制器(也被称为端口),负责处理 I2C 总线上的通信。

2024-08-06 23:52:16 1123

原创 Typora 伪装 LaTeX 中文样式主题 学习笔记

项目“第五章”源格式是“5 系统测试”靠左,就像5.1一样。在Typora的偏好设置里面找到外观-打开主题文件夹。这里的Latex文件夹放这个主题的字体。由于我希望正文是五号字体,大小是10.5pt。修改latex.css第八行。希望中文首选宋体-简,英文首选Times New Roman。但是做出类似word那种......-1-的目录效果我还不知道怎么弄。修改标题为宋体黑体。修改latex.css。暗色模式是latex-dark。用来写毕设论文的初稿,格式可以统一控制,比较方便。注意第x章是二级标题。

2024-08-06 14:32:20 1034

原创 error: no member named ‘IP‘ in ‘NVIC_Type‘ NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel]

(你的keil包的位置)arm/packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c。CMSIS6.0与- pack: Keil::STM32F1xx_DFP@2.4.1存在冲突。这个有问题的文件默认是只读的,双击报错,右键在文件夹中打开,取消只读勾选,修改报错的一行。重新安装该包,并且固定版本依然存在该问题。

2024-08-05 00:49:18 2500 1

原创 pip install -r requirements.txt下载某个.whl文件较慢的问题

如果你改名python.exe为python3.exe,命令前面的python要改成python3。如果不是自己要的版本,点击左边的Release history。选择版本后再次在Download files页面下载.whl文件。下载完之后切换至自己的项目解释器虚拟环境。

2024-08-05 00:37:40 674

原创 在.c和.h 文件里定义数组的区别

c 文件在.c文件中,你可以自由地定义数组作为全局或静态变量,它们的作用范围限制在该编译单元内。这意味着即便两个.c文件中有相同名称的数组,它们也会被视为完全不同的变量,从而避免了命名冲突。.h 文件相对而言,头文件(.h)主要用于声明,而非定义。如果在头文件中放置数组的定义,随着该头文件被多个.c文件包含,将会导致同一个数组定义在多个地方出现,这通常会产生重复定义的错误。因此,应避免在头文件中直接定义数组。.c 文件。

2024-08-04 19:39:13 1148

原创 note: This error originates from a subprocess, and is likely not a problem with pip.error: subproce

解决方案:观察是执行到哪个库的时候出现的,前往这个库的github项目,手动安装这个库,并在requirements.txt文件中去掉这个库的安装指令。pip install -r requirements.txt安装python项目依赖库时出现。重新执行pip install -r requirements.txt。

2024-08-04 19:33:32 498

原创 从零开始的MicroPython(六)ADC

在ESP32里面ADC一共有两组,分为ADC 1 还有ADC 2, 其中又因为ESP32的ADC2不能与WIFI联网同时存在,当连接WIFI的时候ADC 2的管脚就不能进行ADC采样,所以MicroPython-ESP32固件里面,并没有实现对ADC 2的支持。我们可以在烟雾传感器、光敏传感器上看到AO、DO的引脚,AO就是Analog output,DO是Digital Output,具体到读取的意义就是AO是光照强度,DO是有没有光照。访问与id标识的源关联的 ADC。

2024-08-03 21:35:17 903

原创 C语言的最小可分配ID【四种解法】

​ 对于n个ID,如果存在小于n的可用ID,必然存在某个ID不在[0,n)这个范围内。否则这些ID⼀定是0到(n-1)的某个排列,这种情况下,最小的可用ID是n。​ 使用⼀个长度为n + 1的数组,来标记区间[0,n]内ID是否可用,长度为n+1是因为n-0+1。​ 初始化数组->小于n则标为1->遍历从0到 n 的所有数字,第一个未标记的数字就是最小的缺失非负整数,将其返回。​ 优化一般从时间和空间考虑,解法二使用数组,用空间换取了时间,数组很大的时候,空间带来的性能问题不得不考虑。

2024-08-03 15:22:21 447

原创 深度学习DeepLearning Inference 学习笔记

应当选择正确的隐藏层数和每层隐藏神经元的数量,以达到这一层的输出是下一层的输入,逐层变得清晰,最终输出数据的目的。在人脸识别的应用中,我们将图片视作连续的像素值序列,隐藏层不断匹对信息,颗粒从小到大。

2024-08-02 23:30:27 816

原创 从零开始的MicroPython(五)PWM

要理解一个定义,就要引申一个已经掌握的概念,PWM是什么?我们或许可以用“周期”的概念来理解。高电平出现的占比是占空比。PWM(脉冲宽度调制)是一种调节信号的方法。它通过控制脉冲的占空比(Duty Cycle)和频率来实现对信号的调节。占空比是脉冲的高电平时间与周期的比值。在一个周期内,高电平时间占整个周期的比例就是占空比。占空比的范围在0到1之间,可以用百分比表示。例如,50%的占空比表示高电平时间占整个周期的一半。频率是脉冲的周期,即在一个单位时间内脉冲的个数。

2024-08-02 22:13:26 1090

《调试九法,软硬件错误的排查之道》

《调试九法,软硬件错误的排查之道》

2025-06-11

哈夫曼编码压缩加密文件源码

哈夫曼编码压缩加密文件源码

2024-06-13

计算机网络子网划分笔记(含题解)

计算机网络子网划分笔记(含题解)

2024-06-13

Xpath实现的网络爬取教程PPT

Xpath实现的网络爬取教程PPT

2024-06-13

《计算机网络》知识点总结

《计算机网络》知识点总结

2024-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除