自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 [Python] OSError: [E050] Can‘t find model ‘en_core_web_sm‘.

【代码】[Python] OSError: [E050] Can‘t find model ‘en_core_web_sm‘.

2023-10-27 21:26:49 460 1

原创 [Shell] openocd: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object

【代码】[Shell] openocd: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object。

2023-10-26 22:12:30 216

原创 [Python] ModuleNotFoundError: No module named ‘_ctypes‘

此前遇到了 python 中的 _ctypes 模块丢失的问题,经排查发现是 Pyenv 安装的 python 确实缺少了此模块,后来使用 conda 安装 Python 发现 _ctypes.cpython-37m-x86_64-linux-gnu.so 此包存在。排查方法是先全局查找相关模块,找到后将其路径导入 PYTHONPATH 中。若找不到模块就考虑重新安装模块,或者 Python(对于系统模块丢失的情况)Python 找不到模块。

2023-10-26 21:57:17 2504

原创 [Shell] BrokenPipeError: [Errno 32] Broken pipe1

若 $CLANG_FORMAT_DIFF_SCRIPT 中打印没有执行完时,外面的命令直接重定向或者关闭终端会发生以下错误。BrokenPipeError: 管道重定向导致 stdout 错误。

2023-10-26 19:53:55 323

原创 Shell 编程常见用法

本文主要记录写 shell 脚本时的常用写法。

2023-10-24 09:53:33 132

原创 本地发现设备协议基础

本节主要记录发现本地设备的方法,所以关于传输层 TCP、UDP 协议与应用层 HTTP、CoAP 等其他协议只有简单记录。

2023-01-07 20:13:43 1114

原创 【函数调用堆栈】

函数返回值是结构体

2022-08-26 09:14:51 677

原创 【编译链接与运行】

编译、链接、运行

2022-08-18 23:50:13 495

原创 【RISC-V】Trap和Exception

RISC-V之Trap与Exception

2022-07-27 09:50:23 2540

原创 【RISC-V】外部中断

分为中断与异常,这里主要记录RISC-V指令集的中断。mstatus寄存器的MIE标志位是全局中断开关位,相当于一级中断标志。用于设置M/S/U模式下对应的External/Timer/Software中断。(M/S/U下方特权模式说到)在RISCV下,将中断(interrupt)又细分为三种类型:定时中断(timer)、核间中断(soft)、中断控制器中断(external)。定时中断可以用于产生系统的tick,核间中断用于不同cpu核之间通信,中断控制器则负责所有外设中断。这个设计和arm下有点不一样

2022-07-03 00:09:13 3465

原创 【FreeRTOS】中断机制

在FreeRTOS中,中断是实现实时性必要的操作。一款芯片的中断涉及到硬件触发,软件触发,软件中断处理。所以FreeRTOS的中断机制其实不好单独拿出来看。FreeRTOS关于中断能做到的是提供一套专门在中断服务函数中使用的API,比如:对应注意:下文有对于指令集的区分,主要以ESP-IDF(RISC-V为例)中断处理主要包括硬件处理部分和软件处理部分(不同的指令集架构有不同)情景假设:用户在系统正在运行Task1时按下按键,此时中断的处理流程如下。以写队列为例。用pxHigherPriorityTask

2022-06-23 00:21:28 4999

原创 【FreeRTOS】软件定时器

FreeRTOS 软件定时器

2022-06-05 15:12:43 267

原创 【FreeRTOS】队列

FreeRTOS 队列

2022-05-29 18:40:25 311

原创 【外设】Uart

Uart通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),只需要两根线数据线,抗干扰能力强,通信距离远。文章目录Uart硬件连接物理层Uart的优缺点UART的数据帧格式ESP32串口UART如何避免数据丢失?uart_read_bytes()正确的使用方法ESP32 uart串口例程uart中断硬件连接发送数据引脚:TX接收数据引脚:RX发送端 --> 接收端TX --> RXRX --> T

2022-05-22 23:41:56 602

原创 【FreeRTOS】任务调度机制

FreeRTOS之任务调度不同于前后台轮询系统,FreeRTOS正是使用任务调度机制来选择某个任务运行。那么到底如何选择任务,就需要根据任务的优先级的状态来决定。文章目录FreeRTOS之任务调度1 【优先级与任务状态】1.1 [优先级]1.2 [任务状态]2 【任务链表】3 【如何管理?】3.1 [如何找到最高优先级的运行态任务]3.2 [pxReadyTaskLists就绪任务优先级数组]4 【谁进行调度?】5 【通过链表理解调度机制】5.1 [空闲任务礼让]1 【优先级与任务状态】1.1 [优

2022-04-24 23:15:06 5499 7

原创 【FreeRTOS】内存管理

FreeRTOS之内存管理既然标准C库中的Malloc()与Free()也可以实现内存动态管理,为何FreeRTOS还要实现一套内存管理机制?原因如下:在小型的嵌入式系统中效率不高。会占用很多的代码空间。它们不是线程安全的。具有不确定性,每次执行的时间不同。会导致内存碎片。使链接器的配置变得复杂。目录文章目录FreeRTOS之内存管理目录0. 【五种heap的特点】1. 【heap_1】1.1 [heap_1的特性]1.2 [heap从哪个地址开始呢?]1.3 [`__attribut

2022-04-17 12:58:56 1004

原创 VMware-Ubuntu中根目录容量不足2G

如果使用VMware发现根目录过小且无法扩容请参照。

2022-04-01 17:32:12 1157

原创 [共享工具] 一套鼠标键盘控制两台不同系统的主机

用一组有线鼠标键盘控制两台电脑目前使用的Barrier,比较推荐,另一款是synergy。

2021-04-11 15:51:23 1536

原创 github切换gitlab,修改本地项目的远程地址

使用git remote -v查看远程origin路径git remote set-url origin [email protected]:xxx/example.git

2021-03-24 22:21:03 595

原创 CI基本知识

什么是CI?(理解CI)gitlab-ci是gitlab官方的一种持续集成(Continuous Integration)工具,通常用来进行日常的编译和自动化测试,避免提交上去的代码出现基础错误而影响项目进度。对于大的企业项目来说,往往是多人协同开发,并且项目周期都很长,需要将各种代码进行持续性的合并就称之为持续集成。比如有人可能会基于你所写的代码去实现其他的功能,如果你想要push自己新的修改,在此之前就要对新代码编译与测试,gitlab-ci就可以帮你完成这个功能,在push到gitl

2021-03-06 15:30:28 2449

原创 C语言笔试编程题——类约瑟夫环问题

题目:传说当年花果山一堆猴子要选大王,一堆猴子都有编号,分别是1,2,3,… ,n ,这群猴子(n只)按照1至m的顺序围坐一圈,从第1只开始每隔m只猴子,淘汰k只猴,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。此题是类似于约瑟夫环,约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被淘汰掉,最后剩下一个,其余人都将被淘汰。例如N=6,M=5,被杀掉的顺序是:5,4...

2020-02-01 11:10:02 498

原创 More than one section matches selector - cannot all be FIRST/LAST的解决方法(包含只有一个启动文件的解决方法)

在用keil编译工程的时候突然报错,出现这个错误可能是存在以下两种问题:问题一:此项目添加了多个启动问文件,例如:startup_stm32f103x_hd.s、startup_stm32f103x_md.s、startup_stm32f103x_ld.s等,如果项目存在多个启动文件,应该只保留对应芯片容量的启动文件。startup_stm32f10x_hd.s 大容量的STM32F101...

2019-05-22 12:00:50 5941 4

原创 继电器模块和L298N电机驱动模块的使用

单片机如何与L298N和继电器连接?什么时候选择L298N或继电器模块?L298N模块主控芯片为L298N的双H桥电机驱动模块,驱动电压为5~35V,一般驱动直流电机正反转一般使用L298N。接线引脚VCC:有12V端口和5V端口各一个。比如控制12V的直流电机,就将12V的电源正极接到12V引脚。GND:将电池的负极接到此引脚下,同时还要将单片机的GND也接到此引脚下,必须共地。EN...

2019-04-15 19:53:09 12457 3

原创 全局变量的值自动改变的解决办法

在写stm32代码时,定义了一个全局变量i,但是在串口中断赋值一次之后,进行显示i,结果发现i的值发生了变化,具体为什么这样我不是很清楚,也许是定义的变量被优化了,也许是其他原因。解决办法是:在定义变量的前面加上 volatile...

2019-04-12 14:33:52 11472 1

原创 串口读取数据显示不出来应该如何写中断函数

通过正常的中断函数可以知道,在void USART1_IRQHandler(void) //中断函数 { u8 Res;#if SYSTEM_SUPPORT_OS OSIntEnter(); #endif if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) //接收中断,接受到...

2019-04-10 21:40:02 1311

原创 关于输出数组乱序和缺失问题

在做比赛项目时通过USART1输出数组里的元素,但显示出来的数组一直为乱序。最后发现问题所在,因为代码的执行速度很快,后发的新数据会将之前串口发送寄存器里的旧数据覆盖,导致打印出来的数据不全或为乱序。**解决方案:**在发送数据语句后面加上while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //等待发送数据寄存器为空...

2019-04-05 21:50:33 585

原创 CSDN账号找回密码的解决方法(原手机号不能使用)

直接联系CSDN的QQ客服,我找回密码大约搞了两个小时,请耐心等待,客服的工作人员回帮助你找回密码。

2019-03-23 13:41:58 1450

转载 解决Value too large for defined data type问题

佳小先生在共享文件夹下make文件的时候总是出错,错误提示为:Value too large for defined data type。在查阅了好多资料之后,发现是在mount出现了问题,如果安装了VMware Tools,也可能会在自动挂载的时候出现同样的错误。解决办法:在mount的时候加上“nounix,noserverino”参数通过以下命令打开vmware-toolscd /e...

2018-10-10 17:33:56 12755

原创 Ubuntu17.04复制文件

要复制到usr下的话,需用指令sudo -i切换到管理员用户,然后cp 要复制的文件名 要存放的目录例如:cp text1.txt /usr/localcp text1.txt /usr/local

2018-09-26 16:48:13 607

原创 在Linux中安装VMwareTools

1.首先打开需要安装VMware Tools的虚拟机,点击【虚拟机】下的【安装VMwareTools】,会弹出以下提示框,点击是。2.点击左侧驱动器,有一个VMwareTools-10.2.0-7259529.tar.gz的压缩文件夹,或者没有1.2步骤,直接弹出来安装包文件(图片如下),将其复制到桌面,然后进行解压。3.用指令tar -xvf VMwareTools-10.2.0-7259...

2018-09-26 11:12:02 1944

原创 通俗理解C++ operator(重载操作符)

如何理解operator(重载操作符)? operator是C++的重载操作符关键字,其作用就是对操作符重新定义,使其能够适应其他不同数据类型的运算。 简单点说,就是“+”本来是算数运算符,一般用于基本数据类型,但是想要运算用户定义的数据类型class(在class可能会含有多种数据类型),这时候用重载运算符就可以将两个对象进行操作。实现函数如下mycomplex operator...

2018-09-12 21:56:11 18544 2

RISC-V指令集手册资料

RISC-V指令集手册资料,需要请大家自行下载。

2022-07-03

空空如也

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

TA关注的人

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