自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-06-14 10:12:20 2476

原创 用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 474 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 1354 2

原创 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 389 1

原创 arm_acle.h找不到

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

2024-10-21 21:02:23 486 3

原创 IAR_Register窗口

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

2024-10-14 15:27:18 1064

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

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

2024-10-14 15:18:59 583

原创 COMPILER_ABSTRACTION头文件的关键字

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

2024-10-10 21:30:20 343

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

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

2024-09-19 16:16:33 1789

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

2024-09-19 16:04:13 232

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

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

2024-09-09 13:59:33 683 1

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

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

2024-08-29 13:12:20 683

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

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

2024-08-29 10:16:51 898

原创 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 799

原创 Keilv5 逻辑分析仪的使用

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

2024-08-27 22:37:32 830

原创 IAR软件配置笔记

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

2024-08-27 19:48:54 336

原创 cola_os学习笔记(下)

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

2024-08-25 17:49:06 624

原创 cola_os学习笔记(上)

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

2024-08-25 15:40:01 993

原创 从零开始的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 676

原创 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 778

原创 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 988

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

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

2024-08-05 00:37:40 461

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

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

2024-08-04 19:39:13 749

原创 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 361

原创 从零开始的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 578

原创 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 387

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

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

2024-08-02 23:30:27 786

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

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

2024-08-02 22:13:26 695

原创 从零开始的MicroPython(四) 串口

在嵌入式学习中,串口发挥着重要的作用,不仅仅是与模块通讯,还发挥了探明黑箱、代码调试的作用。​ 一般来说我们只关心波特率的设置,波特率一般设置为9600或115200,通讯的两端波特率要一样,TX与另一端的RX相接,RX与另一端的TX相接。校验位、数据位、停止位按图中所示设置。​ NodeMCU-32S 是安信可基于 ESP32-32S 模组所设计的核心开发板。该开发板延续了 NodeMCU 1.0经典设计,引出大部分I/O至两侧的排针,开发者可以根据自己的需求连接外设。

2024-08-01 16:22:20 1428

原创 从零开始的MicroPython(三) 按键与外部中断

点灯是嵌入式GPIO输出的典型,按键则是输入的典型。

2024-08-01 15:08:18 770

原创 从零开始的MicroPython(二) GPIO及点灯代码

NodeMCU-32S 是安信可基于 ESP32-32S 模组所设计的核心开发板。该开发板延续了 NodeMCU 1.0 经典设计,引出大部分I/O至两侧的排针,开发者可以根据自己的需求连接外设。使用面包板进行开发和调试时,两侧的标准排针可以使操作更加简单方便。

2024-07-31 22:42:29 1254

原创 从零开始的MicroPython(一) 软件安装及环境搭建

​ MicroPython 是Python 3编程语言的精简高效的实现 其中包括 Python 标准库的一小部分,并且是经过优化,可在微控制器和受限环境中运行。​ MicroPython 拥有各种功能,例如交互式提示、任意精度整数、闭包、列表推导、 生成器、异常处理等。它足够小巧,只需 256k 的代码空间和 16k 的 RAM 即可运行,旨在尽可能与普通 Python 兼容 允许您轻松地将代码从桌面传输到微控制器 或嵌入式系统。

2024-07-31 22:10:49 5265

原创 Ai thinker eclipse坑点总结——ESP8266-ESP12 SDK Bin文件生成

【代码】Ai thinker eclipse坑点总结——ESP8266-ESP12 SDK Bin文件生成。

2024-07-30 20:51:03 538

原创 Arduino IDE项目移植开发坑点总结

针对platformio项目的移植,找到项目里面main.c、main.cpp相同作用的文件改成.ino,同层目录建src,src下建lib,最大限度地减少#include改动。将项目lib中属于官方(Arduino)库的放软件目录lib,项目自建的放lib下。Arduino IDE环境下,#include自己编写的.h文件编译器链接不成功。高版本才会存在这个问题。#include 与#include “xx.h”的区别。Arduino库由.cpp文件&&.h文件变成.cpp&&.hpp。

2024-07-30 20:29:24 320

原创 FreeRTOS的互斥锁(互斥信号量)使用

互斥锁(mutex)的作用是同步对共享资源的访问,确保在任意时刻只有一个线程可以访问共享资源,从而避免竞争条件(race condition)的发生。具体来说,互斥锁有以下几个作用:保护共享资源:当多个线程同时访问共享资源时,互斥锁可以确保只有一个线程可以访问该资源,避免出现数据不一致或错误的情况。防止竞态条件:互斥锁可以用来解决竞态条件(race condition)的问题。竞态条件指的是当多个线程同时执行时,最终的结果取决于线程的执行顺序。通过使用互斥锁,可以防止竞态条件的发生,保证结果的可靠性。实现线

2024-07-22 18:08:38 740

原创 基于C语言实现的一种按键软件消抖

它通过对 previous和 current 执行位或操作来获取从打开变为关闭的引脚的掩码。然后与 asserted进行位与操作,从而在 asserted 中关闭这些特定的位。它通过对 previous和 current 执行位与操作来获取从关闭变为打开的引脚的掩码。每次重新读取原始状态时,只需调用此函数,并使用返回的值作为去抖后的信号。如果需要三个或更多连续相同的读数,只需将`previous`替换为两个或更多的先前状态。4. 最后,函数返回 asserted变量,现在它包含了引脚的去抖状态。

2024-07-22 00:29:51 910

原创 HC05主从一体蓝牙模块的裸机使用——单片机<-->蓝牙模块

HC-05是一种常用的蓝牙模块,具有低功耗、低成本、易于使用的特点。它可以实现与其他蓝牙设备(如手机、电脑等)进行无线通信。HC-05蓝牙模块具有串口通信接口,可以通过串口与主控制器(如Arduino、Raspberry Pi等)进行连接。使用HC-05模块,可以实现无线传输数据、远程控制等功能。

2024-07-15 23:15:58 941

原创 Java字节流的输入输出

字节流的读取操作可以使用InputStream的read()方法,该方法会从输入流中读取一个字节的数据,并返回读取到的字节数据。Java字节流的输入输出指的是使用Java中的字节流来进行数据的读取和写入操作。字节流是以字节为单位进行读写操作的,常用于处理二进制数据或者字符数据。字节流的写入操作可以使用OutputStream的write()方法,该方法将一个字节写入到输出流中。Java中对于流的操作确实是需要及时释放资源的。无论使用哪种方式,及时关闭流是非常重要的,可以避免资源的浪费和系统崩溃的问题。

2024-07-15 22:26:24 392

原创 计算机网络——子网划分 笔记

IP地址块为172.20.0.0/22 分为4个部门的主机 数量为总部500,销售部200,人力资源50,法务部20。最大可用IP地址:172.20.2.94(子网位全赋值1再-1)广播地址:IP地址网络位不变,主机位变1,再化成十进制。最大可用IP地址:172.20.1.254。最大可用IP地址:172.20.2.254。最小可用IP地址:172.20.3.65。最小可用IP地址:172.20.0.1。最小可用IP地址:172.20.2.1。最小可用IP地址:172.20.3.1。

2024-07-12 13:57:12 923

原创 深度学习DeepLearning二元分类 学习笔记

若一个模型能从从未见过的数据中做出准确的预测,我们说它能够从训练集泛化到测试集。图注:z越大,函数g(z)值越趋近于1;z为负数,越小则函数g(z)值越趋近于零。一个模型不能太过特殊以至于只能用于一些数据,也不能过于宽泛难以拟合数据。含义:w,b为影响因子的时候,选中x行向量时,y=1的概率是多少。一种惩罚,如果某一个w的增大使代价函数J增大,那它实际应该减小。平方误差代价函数不适用原因:会出现多个局部最小值。负的log函数取零到一的部分。选择合适的λ以避免过拟合和欠拟合。输出值介于(0,1)

2024-07-12 13:47:06 908

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

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

2024-06-13

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

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

2024-06-13

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

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

2024-06-13

Xpath实现的网络爬取教程PPT

Xpath实现的网络爬取教程PPT

2024-06-13

空空如也

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

TA关注的人

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