自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux网络编程

网卡:网络适配器:标识的id,理论上这个id全球唯一,一般用来表示主机的id是标识的id,这个id是虚拟的,会改变IP地址分为子网id和主机id,子网id和主机id需要和子网掩码一起来看IP中被连续的1覆盖的位是子网id,被连续的0覆盖的位是主机id= 把主机位全写 0= 把主机位全写 1单播帧(目的 MAC = 本机 MAC)→ 网卡必须收。

2025-12-09 14:55:33 649

原创 Shell编程

setAction;funname#函数内部已经打印了结果,不需要再额外 echo/bin/bashs=$[$1+$2]echo $sread -p "请输入第一个整数:" aread -p "请输入第二个整数:" badd $a $b。

2025-09-02 11:28:13 1093

原创 Makefile的使用

目标名称是追踪监控的目标,而gcc命令的生成目标是所生成文件的名字,当追踪不到追踪监控的目标时会一直执行后续的gcc命令。防止目标名与同名文件冲突,并告诉 make“无论文件是否存在,每次都要执行”若不显式声明伪目标,当所在路径中有与伪目标同名的文件时,伪目标命令就不会执行。目标名称必须和gcc命令生成的目标文件同名,即。在报错后会显示(已忽略)

2025-08-28 22:21:10 354

原创 编程底层基础

然而,当你在这些窗口中输入变量名时,调试工具会根据符号表(Symbol Table)查找该变量的内存地址,并显示该地址的内容,而不受当前Memory窗口的地址范围限制。复位异常(Reset Exception)是所有异常类型里最特殊的一个,因为它不是从某个“原来的程序”中跳过去的,而是整个 CPU 重新启动,直接进入一个全新的执行流。:当程序停止在断点处时,CPU内核会停止执行,但外设仍然会继续运行,调试器主要控制CPU内核的运行状态,帮助开发者调试程序,通常不会直接控制外设的运行状态。

2025-08-28 15:33:28 1038

原创 Python虚拟环境中包存在,解析器路径正确,但就是找不到包解决方法

目录,也就是说 Python 根本没加载任何第三方库,自然找不到torch。被污染,或者 当前目录下有一个名为。99% 是 环境变量。

2025-07-24 14:30:49 290

原创 Linux开发⊂嵌入式开发

QT 里面出现no such file or directory这个错误怎么处理?

2025-07-21 22:27:19 242

原创 定时器详解

从模式中的复位模式会将计数器CNT清零,输入捕获模式下,会先将捕获到的计数值CNT写入捕获/比较寄存器CCR再复位(即CNT清零):存储预设的比较值,当定时器计数器 TIMx_CNT 的值等于 TIMx_CCR 的值时,触发输出比较事件。信号是一个周期性的方波信号,其周期(T)和频率(f)是固定的,但脉冲的宽度(t)可以根据需要进行调整。高电平有效表示当定时器的计数器(CNT)达到捕获/比较寄存器(CCR)的值时,输出信号将被设置为高电平。,并将捕获到的时间戳存储在捕获/比较寄存器(TIMx_CCR)中。

2025-07-21 10:39:57 1166

原创 系统复位详解

(Independent Watchdog,独立看门狗)是能产生系统复位信号的递减计数器,由独立的低速时钟LSI(RC振荡器)驱动,即使主系统时钟失效(在待机或停止模式下)也能工作,看门狗被激活后,当递减计数器计数到0x000时产生复位信号。(Window Watchdog)窗口看门狗是能产生系统复位信号和提前唤醒中断的递减计数器,由外部高速晶振(HSE)提供时钟源,所以在待机或停止模式下不能工作。:窗口期内重装载计数器的值,防止复位,非窗口期或窗口期下限之后喂狗会产生复位。是看门狗预分频系数;

2025-07-14 16:08:40 663

原创 数据通信详解

再使能复用功能的外设时钟,即可实现GPIO复用为该外设(即建立GPIO和该外设的连接<通过配置外设的模式可选择具体引脚的复用状态>),外设通过中断方式触发,需要开启中断,中断触发方式为一帧数据读取完毕;不同的通信协议有不同的中断触发机制,但它们的共同点是:只要硬件电路实现了协议标准,当满足特定条件时,就会触发中断进行相应外设的工作。:实际传输的数据,可选5、6、7、8、9个位长,LSB(低有效位)在前,MSB(高有效位)在后。:必须有,可选占0.5、1、1.5、2个位长,保持逻辑1电平,表示数据帧结束。

2025-07-10 11:52:51 974

原创 中断的使用详解

是“外部(扩展)中断/事件控制器”(External(Extended) Interrupt/Event Controller)主要用于处理外部信号的中断请求或事件触发,它不仅可以处理芯片外部的中断或事件,还可以处理芯片内部的某些信号。,允许系统在执行主程序时被外部事件(如外部中断,EXTI)或内部条件(如定时器中断、通信中断等)中断,从而执行特定的处理程序(中断服务函数,ISR)(Interrupt Vector Table,IVT)存储了所有中断服务函数的入口地址,处于一块特定的内存中。

2025-07-08 14:48:32 870

原创 GPIO详解

每个GPIO组(GPIOA)的寄存器是连续的,每个寄存器的不同位字段决定了该组中不同引脚(PA0,PA1)的配置。,访问速度非常快,而变量操作需要通过内存访问,速度较慢。在需要快速响应和低延迟的场景中,寄存器操作是首选。通过内部的P-MOS和N-MOS管的。可以由CMOS或TTL电路组成。

2025-07-06 17:03:11 993

原创 C++基础

C#/Java是虚拟机型的语言(托管语言),它们都没有头文件并行堆栈是一种调试工具,用于在多线程环境中可视化每个线程的调用堆栈。它允许开发人员在单一视图中查看所有线程的执行位置,从而更方便地调试多线程应用程序ImGUI(Immediate Mode Graphical User Interface)是一个轻量级的、跨平台的、与平台无关的C++图形用户界面库,特别适合于游戏开发和其他实时应用程序,允许开发者使用纯C++代码快速创建和管理用户界面基准测试是一种性能评估方法,通过标准化的测试用例和工具,可以客观

2025-06-27 14:37:29 865

原创 计算机二级(C语言)已过

在C语言中,类型转换需要谨慎处理,尤其是涉及指针、函数指针、结构体等复杂类型时。为了避免无效的类型转换,建议: 1. 明确类型转换的意图。2. 使用显式类型转换(如 `(type) `)来避免编译器警告。3. 确保转换后的类型与目标类型兼容。4. 避免可能导致未定义行为的类型转换,如将非法地址赋值给指针。如果不确定类型转换是否安全,可以查阅C语言标准或使用编译器的警告选项(如 ` - Wall`)来帮助发现潜在问题。printf()函数中,当格式转换说明符个数少于输出项个数时,多余的输出项不予输出。

2025-05-09 20:40:58 1204

原创 socket聊天室

【代码】socket聊天室。

2025-03-24 20:41:10 285 1

原创 C51知识点

如果文件名不一致,只要在 .c 文件中正确包含对应的头文件,编译器仍然可以正常编译。在编程中,是否需要将库文件放在工程文件夹中,取决于你使用的开发环境和编译器的配置方式。)是库的接口定义文件,编译器在编译时需要这些文件来解析代码中的函数和变量声明。总之,是否需要将库文件放在工程文件夹中,取决于你的项目需求和开发环境的配置。文件),通常需要将这些文件放在工程文件夹中,并将其添加到项目中。一个函数不能既在主函数中又在中断函数中调用,会导致函数的重入。编程时要使用哪个库,就需要将哪个库放在工程文件夹中?

2025-03-23 15:52:34 474 1

原创 Sqlite3数据库

工具库的使用:程序编写时#include <库名.h>即可调用库中的函数 编译时链接工具库;注意:数据库中不区分字母大小写;SQLite 中的事务是数据库操作中非常重要的一个概念,它用于确保数据库操作的完整性和一致性。

2025-03-22 15:03:15 1225

原创 socket聊天室—多线程服务器模型

【代码】socket聊天室—多线程服务器模型。

2025-03-07 18:22:29 155

原创 网络编程I/O多路复用—动态数组

【代码】网络编程I/O多路复用—动态数组。

2025-01-13 11:23:41 217

原创 UDP—广播

【代码】UDP—广播。

2025-01-13 10:12:32 100

原创 UDP服务器端—客户端编程

【代码】UDP服务器端—客户端编程。

2025-01-12 11:29:42 222

原创 多线程服务器模型

【代码】多线程服务器模型。

2025-01-11 15:15:45 138

原创 自定义协议实现客户端—服务器端通信

【代码】自定义协议实现客户端—服务器端通信。

2025-01-11 13:15:27 154

原创 利用TCP协议实现客户端—服务器端通信

【代码】利用TCP协议实现客户端—服务器端通信。

2025-01-05 12:51:36 240

原创 信号量的PV操作

【代码】信号量的PV操作。

2024-12-29 10:00:57 353

原创 进程发送消息案例

【代码】进程发送消息案例。

2024-12-28 10:31:36 135

原创 利用命名管道进行读写操作

【代码】利用命名管道进行读写操作。

2024-12-26 11:18:54 148

原创 写一个读端已被关闭的管道

【代码】写一个读端已被关闭的管道。

2024-12-25 20:16:03 134

原创 读一个写端被关闭了的管道

【代码】读一个写端被关闭了的管道。

2024-12-25 19:54:53 579

原创 利用线程信号量实现线程同步

【代码】利用线程信号量实现线程同步。

2024-12-21 17:04:09 113

原创 一个线程负责计算结果、多个线程负责获取结果

【代码】一个线程负责计算结果、多个线程负责获取结果。

2024-12-21 11:29:00 547

原创 一个线程负责计算结果、一个线程负责获取结果

【代码】一个线程负责计算结果、一个线程负责获取结果。

2024-12-21 10:28:46 119

原创 互斥锁解决多线程取款问题

【代码】互斥锁解决多线程取款问题。

2024-12-19 20:45:02 150

原创 分别以默认状态和分离状态启动线程

【代码】分别以默认状态和分离状态启动线程。

2024-12-18 11:53:09 112

原创 system函数实现

【代码】system函数实现。

2024-12-14 11:23:11 138

原创 exec函数使用

【代码】exec函数使用。

2024-12-14 10:49:48 129

原创 wait---waitpid函数功能实现

【代码】wait---waitpid函数功能实现。

2024-12-13 22:04:54 100

原创 孤儿进程被1号进程领养案例

【代码】孤儿进程被1号进程领养案例。

2024-12-12 20:43:38 102

原创 进程链-进程树代码实现

【代码】进程链-进程树代码实现。

2024-12-12 20:10:07 157

原创 父子进程中文件描述符和文件表项的关系代码实现

【代码】父子进程中文件描述符和文件表项的关系代码实现。

2024-12-12 17:02:05 95

原创 进程结束方式选择实现

【代码】进程结束方式选择实现。

2024-12-12 17:00:49 435

Linux网络编程文档

Linux网络编程文档

2025-10-27

Linux应用开发基础

Linux应用开发基础

2025-08-31

Shell编程课程文档

尚硅谷Shell课程文档

2025-08-31

空空如也

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

TA关注的人

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