- 博客(28)
- 收藏
- 关注
原创 ModuleNotFoundError: No module named ‘tkinter‘
2、若出现如下异常,(若为 未出现 如下异常,就不用下面的操作了)3、修改包管理器(aptitude)4、再次安装python3-tk。1、安装python3-tk。5、显示如下:输入n。6、显示如下:输入Y。
2025-12-06 10:25:44
209
原创 no probes connected via usb
现象描述:安装JLink_Windows_V842_x86_64.exe后,连接显示no probes connected via usb,且指示灯一直闪烁。
2025-11-21 16:40:54
354
原创 virtualbox7.1.10安装ubuntu24.04.3版本虚拟机,部分问题及解决方法
此方法可以暂时解决File not found - /cdrom/dists/noble/Release (2: No such file or directory)的问题,实验发现,重启虚拟机后,问题依旧存在。1、失败提示:File not found - /cdrom/dists/noble/Release (2: No such file or directory)输入指令sudo mount /dev/cdrom /cdrom后,回车。2、注释掉之前的cdrom源,使用其他的源(如阿里)
2025-11-14 10:25:32
583
原创 N32G45X芯片配置PB3为IO
如调试期间需要使用其GPIO 功能 可 通过设 置 AFIO_RMP_CFG. SW_JTAG_CFG[2:0] 位,可以改变上述重映像配置。芯片上电默认使能SWD-JTAG 调试接口,调试接口被映射到 G PIO 端口上,如下表所示。
2025-11-10 13:59:05
194
原创 PID-临界比例度法(Z-N法)
本方法是由齐格勒(Ziegler)和尼柯尔斯(Nichols)提出的一种PID参数工程整定方法。这种方法是基于闭环响应的方法,,此时的比例度称为临界比例度,用Peak_Diff表示,相邻两个波峰间的时间间隔,称为临界振荡周期,用Time_Diff表示,通过计算即可求出调节器的整定参数。这种方法基于频率响应的分析。其步骤如下:1、将I值与D值置零,使用适当的P值,运行系统2、修改P值,得到等幅震荡过程,记下临界比例度Peak_Diff和临界震荡周期Time_Diff。
2025-10-11 15:45:58
484
原创 UART DMA接收和发送不定长度数据
在使用DMA功能时,只有在接收或者发送了固定长度的数据后,才会触发传输完成的中断,这导致使用时不够灵活,很不方便。下面,就介绍一种可以通过DMA接收和发送不定长度数据的方法。
2025-08-14 19:43:52
431
原创 同步异步收发器(USART)
然后,再使能DMA通道,才能触发DMA发送。DMA接受数据接口,每次接受数据前,,接受数据的个数在初始化的时候确定。,才会开始接受新的数据,且。
2025-06-10 16:53:46
351
原创 同步通信与异步通信
同步通信依赖共同时钟信号严格协调收发双方的时序。异步通信通过起始位/停止位标识字符边界。1:电压差+(2~6)V。0:电压差-(2~6)V。
2025-05-23 15:07:03
254
原创 Oracle VirtualBox 中Ubuntu 24.04虚拟机窗口显示空白、闪烁问题
问题描述:Oracle VirtualBox 中Ubuntu 24.04虚拟机窗口显示空白,关闭窗口一直闪烁,问题界面如下,2、Oracle VirtualBox中修改配置,1、关闭虚拟机,点击右上角的 ×。<启动3D加速>,如下。
2025-04-15 11:06:01
576
原创 RTT Viewer
RTT Viewer主要用于通过等调试器与嵌入式系统进行交互,实现实时的数据交换和调试信息输出。它允许开发者在不占用硬件资源的情况下,高效地从目标(微控制器)向主机发送调试信息或接收控制命令。
2025-04-09 10:06:33
878
原创 函数:assert_param()
判断参数expr是否为真,为真执行语句(void)0,为假就执行后面的函数assert_failed((uint8_t *)__FILE__,__LINE__),函数的作用在库函数中有解释,用来指示出错的行数和文件。2、#define为预处理指令,在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”,因此可以指出出错的行数与文件。在程序的运行上牺牲了效率(但只是在调试阶段),但在项目的开发上却帮助你提高了效率。
2025-03-19 09:30:13
611
原创 嵌入式操作系统体系结构
微内核结构,又被称为客户机/服务器结构,其基本思想是:把操作系统的大部分功能剥离出去,只保留最核心的功能单元,微内核只提供几种基本服务,如任务调度、任务间通信、底层的网络通信和中断处理接口及实时时钟等。整个内核非常小,内核任务在独立的地址空间运行,速度极快。按照软件体系结构,可以把嵌入式操作系统分为三大类:宏内核结构、分层结构和微内核结构。这种结构实质是“无体系结构”:整个嵌入式软件是一组程序(函数)的集合,不区分应用软件、系统软件和驱动程序等,每个函数均可以按照需求调用其他任意的函数。
2025-03-19 09:11:10
533
原创 C语言命令规范
for与小括号用空格隔开,分号之后加一个空格,大括号新起一行。大驼峰+“_E”,全大写,多个单词用下划线分隔。if 与条件之间用空格隔开,大括号新起一行。大驼峰命名,功能单一,不超过80行。小驼峰命名 & “形容词+名词”注释符与注释内容之间使用空格隔开。操作符与被操作数之间用空格隔开。全大写,多个单词用下划线分隔。全局变量在前面加“g_”静态变量在前面加“s_”指针变量在前面加“p”
2024-11-28 15:17:11
182
原创 PWM输入与PWM输入捕获的区别
1、一个PWM占据了TIM的两个通道,引脚上电平发生变化,可以同时被CH1和CH2检测到2、第一个上升沿到来,CH1、CH2都会检测到,TIM发生复位,计数值为0,不产生中断或者不处理3、接着,第一个下降沿到来,CH1发生捕获事件,将当前TIM计数值保存到CH1捕获寄存器中,记为ch1Val,不产生中断或者不处理4、接着,第二个上升沿到来,CH2发生捕获事件,将当前TIM计数值保存到CH2捕获寄存器中,记为ch2Val,产生中断并处理。
2024-11-11 13:25:29
517
原创 AD采样-滑窗滤波
如上图,实现ADC1(P6)作为输入信号来控制PWM(P7)输出的功能,在采集ADC1值时,读取的ADC1一直在微小的变化,导致PWM变化,进而导致输出抖动,影响模块正常功能。这时,我们便需要对输入信号ADC1进行滤波,滤波算法有很多,如:限幅录波算法、中位值滤波法等,下面介绍一种滑窗录波算法。1、原理:设置窗口,每次进一个新的AD值,出一个旧的AD值,效果如下图。窗口滑动内数据的处理方式多样可选,如:取平均值、排序后取中位数等。2、代码实现(滑窗内数据的处理方式为取平均值)
2024-10-31 15:49:00
540
原创 Keil “No Cortex-M Device found in JTAG chain.” &&“Target DLL has been cancelled.“
3、修改后,TDO ->SWD,并出现了相关信息,此时,就可以进行Debug了。
2024-09-12 09:22:07
1103
原创 RT-thread 内核框架
静态内存池管理:当静态内存池具有可用内存时,系统对内存块分配的时间将是恒定的;实时内核:对象管理、线程管理,实时调度器、线程间通信管理、时钟管理及内存管理等,内核最小的资源占用情况是 3KB ROM,1.2KB RAM。线程调度算法:基于优先级的全抢占式多线程调度算法,0 优先级代表最高优先级,相同优先级的线程间采用时间片的轮转调度算法进行调度。动态内存堆管理:小内存管理算法(整内存分割)、slab 管理算法(每类对象有一个内存池)、memheap 管理算法(粘合)线程间同步:信号量、互斥量与事件集。
2024-08-15 16:59:40
197
原创 data idata xdata code (C51)
字节,访问速度最快,可直接通过寄存器实现读写操作,通常存放小的全局变量。外部数据存储区(扩展。
2024-06-24 09:16:33
344
原创 【bat】批处理获取文件信息
在Version.h文件中,获取第一个VERSION所在行,赋值给output_variable,再截取出1.1赋值给VERSION。
2024-05-21 14:45:52
995
原创 【bat】批处理修改文件名添加时间后缀
3、将下面的代码复制进bat文件中,双击运行(改代码中需要修改的文件在Obj目录下名为LKS_MC_Project.hex)bat批处理,获取系统时间,生成一个在原文件名后面有时间后缀的新文件。1、新建一个txt文件,修改文件后缀为bat。2、见bat文件放到要修改的文件同级目录下。文件名后添加加一个时间后缀。
2024-05-21 13:47:45
1902
原创 GPIO梳理
引脚不连接到特定的电源或地,并且没有外部电阻将其固定在特定电平上(接收外部信号,当没有外部信号输入时,引脚处于高阻抗状态)引脚输出配置模式,引脚可以连接到外部负载或电路,但只能拉低(连接到地)而不能主动拉高(连接到电源),拉低状态。)通过一个上拉电阻,以确保引脚在没有外部信号输入时保持在高电平(通常是逻辑高))通过一个下拉电阻,以确保引脚在没有外部信号输入时保持在低电平(通常是逻辑低。引脚可以主动拉高(连接到电源)和拉低(连接到地),以提供全面的输出控制能力。外部设备发送的信号,转成数字信号。
2024-05-06 16:14:05
236
原创 User name and email must be set before commit
找到.gitconfig文件(通常在C/User/xxx目录下),按如下格式填写。点击 “是”,然后填入“用户名”与“邮箱”,再点击“确认”
2024-04-07 09:12:54
1595
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅