自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stephenbruce的博客

本人写博客实为学习、交流、分享!若个别篇幅涉及侵权,请及时与本人联系,一经核实,将马上进行处理。

  • 博客(151)
  • 资源 (9)
  • 收藏
  • 关注

原创 Agent 在AI里是什么意思?

当前,大语言模型(如GPT-4)常作为 Agent 的“大脑”,赋予其更复杂的推理和交互能力。普通程序按固定逻辑运行,而 Agent 具有动态决策能力。例如,传统导航软件只提供静态路线,而智能导航 Agent 会实时根据交通拥堵调整路线。总结来说,Agent 是 AI 实现智能化落地的核心载体,其设计目标是让机器像“主动助手”一样解决问题,而非被动执行指令。多个 Agent 协作或竞争(如交通信号协同控制)。为实现长期目标规划行动(如物流路径优化)。选择效用最大化的行动(如股票交易系统)。

2025-03-02 14:44:37 205

原创 C语言的offsetof

在这个例子中,offsetof(struct MyStruct, a) 将返回成员 a 在结构体 MyStruct 中的偏移量,offsetof(struct MyStruct, b) 和 offsetof(struct MyStruct, c) 类似。offsetof 是一个宏,定义在 C 标准库的 <stddef.h> 头文件中。这个宏在编写与硬件相关的代码或需要直接操作内存布局的代码时特别有用。请注意,具体的偏移量可能会因编译器和平台的不同而有所不同,因为它们可能会对结构体进行不同的内存对齐优化。

2025-01-23 21:37:55 255

原创 freertos里面,什么资源会占用任务的栈空间?

在设计 FreeRTOS 应用时,合理估算和配置任务的栈大小是非常重要的,以确保任务有足够的栈空间来执行而不会发生栈溢出。FreeRTOS 提供了。函数,可以用来检查任务的栈使用情况,帮助开发者调试和优化栈空间的分配。

2025-01-23 21:31:55 298

原创 strdup 函数

strdup 函数是 C 标准库中的一个函数,用于复制一个字符串。它的全称是 "string duplicate"。这个函数在 <string.h> 头文件中声明。strdup 函数会分配足够的内存来存储源字符串的副本,并将源字符串的内容复制到新分配的内存中。然后返回指向新字符串的指针。

2025-01-23 21:29:29 257

原创 kconfig语法里,怎么实现二选一配置?

在这个示例中,choice块定义了一个二选一的配置选项,用户可以在OPTION_A和OPTION_B之间选择一个。此外,if EXAMPLE和endif块用于将选择块放在一个条件配置中,只有在EXAMPLE配置项被启用时,用户才会看到并能够选择OPTION_A或OPTION_B。在Kconfig语法中,可以使用choice和endchoice关键字来实现二选一配置。需要注意的是,choice块中的配置选项(如OPTION_A和OPTION_B)必须是布尔类型(bool),并且在同一时间只能选择一个选项。

2025-01-23 21:25:29 175

原创 vscode 怎么查看代码的修改时间和修改人

步骤:1、安装 GitLens 插件:2、查看代码修改信息:3、浏览文件历史:

2025-01-23 21:20:24 1960

原创 git checkout -b 命令:创建一个新分支并切换到该分支

通过使用 git checkout -b <分支名>,Git 会首先基于当前所在的分支(或指定的起点)创建一个名为 <分支名> 的新分支,然后立即切换到该新分支。这对于需要在当前工作基础上开始新功能开发、修复bug或进行试验性工作的情况非常方便。git checkout -b 命令的作用是创建一个新分支并切换到该分支。这将在当前分支(develop)的基础上创建新分支并切换到新分支。原分支名: 是你要从其创建新分支的已有分支的名称。新分支名: 是你想要创建的新分支的名称。

2025-01-23 21:16:47 452

原创 python re模块 详解

re 模块是 Python 中用于处理正则表达式的标准库。正则表达式是一种强大的字符串匹配和处理工具,可以用来查找、替换、分割字符串等。下面是 re 模块的详细介绍,包括常用函数和方法。

2024-11-16 22:06:37 1085

原创 python subprocess.run 详解

subprocess.run 提供了一种灵活且强大的方式来执行子进程,并且可以通过各种参数来控制子进程的行为和处理其输出。通过合理使用这些参数,可以满足大多数子进程管理的需求。

2024-11-16 21:36:41 3156

原创 python logging模块 详解

Python 的 logging 模块提供了灵活且强大的日志记录功能,适用于各种规模的应用程序。通过合理配置 Logger、Handler 和 Formatter,可以满足不同的日志记录需求。

2024-11-16 20:21:59 1009 1

原创 python class(类)在多文件的应用

在大型项目中,通常会将代码分成多个文件,以便更好地组织和管理代码。Python 提供了模块和包的概念,可以帮助我们实现这一点。下面是一个简单的示例,展示如何在多个文件中使用 Python 类。

2024-11-16 16:58:15 497

原创 python 类(class) 详解

在 Python 中,使用 class 关键字来定义一个类。类名通常使用大写字母开头的驼峰命名法。pass # 占位符,表示什么都不做Python 类是面向对象编程的基础,通过类可以创建对象,定义对象的属性和行为,实现代码的重用和组织。通过继承、多态等特性,可以构建复杂的系统。理解和掌握类的概念和用法是学习 Python 编程的重要一步。

2024-11-16 16:54:04 811

原创 python os.path.dirname(path) 详解

dirname 是一个用于处理文件路径的 Python 函数,通常用于获取给定路径的目录部分。它是 os.path 模块中的一部分。下面是对 dirname 函数的详细解释和使用示例。首先,你需要导入 os 模块,因为 dirname 是 os.path 模块的一部分。2、函数定义2.1、参数path:一个字符串,表示文件或目录的路径。2.2、返回值返回路径中的目录部分,不包括文件名。如果路径中没有目录部分,则返回空字符串。2.3、示例3、注意事项os.path.d

2024-11-15 22:41:19 1464

原创 python makedirs() 详解

在 Python 中,os.makedirs() 函数用于递归地创建目录。也就是说,它不仅会创建指定的目录,还会创建任何必要的父目录。这个函数在处理需要创建多级目录结构时非常有用。

2024-11-15 22:34:36 753

原创 python endswith()(判断字符串是否以指定的后缀结尾)详解

在 Python 中,endswith() 方法用于判断字符串是否以指定的后缀结尾。它返回一个布尔值:如果字符串以指定的后缀结尾,则返回 True,否则返回 False。

2024-11-15 22:20:43 775

原创 python os.path.basename(获取路径中的文件名部分) 详解

是 Python 的 os 模块中的一个函数,用于获取路径中的文件名部分。它会去掉路径中的目录部分,只返回最后的文件名或目录名。

2024-11-15 22:04:36 1230

原创 python json详解

Python 的 json 模块提供了强大的功能来处理 JSON 数据。通过 json.dump() 和 json.dumps(),你可以将 Python 对象序列化为 JSON 格式;通过 json.load() 和 json.loads(),你可以将 JSON 数据反序列化为 Python 对象。利用这些功能,你可以轻松地在 Python 程序中处理 JSON 数据。

2024-11-15 21:43:55 956

原创 python strip() 详解

strip() 是 Python 字符串方法之一,用于移除字符串开头和结尾的空白字符(包括空格、制表符、换行符等)或指定字符。它不会影响字符串中间的空白字符。

2024-11-15 16:00:48 1581

原创 绝对路径和相对路径的区别

绝对路径和相对路径各有其用途和优缺点。绝对路径提供了文件或目录的唯一位置,而相对路径则更为简洁和灵活,适合在当前工作目录附近的文件操作。根据具体需求选择合适的路径类型,可以提高代码的可读性和可维护性。

2024-11-14 22:16:29 458

原创 python os.path.join 详解

os.path.join 是一个非常有用的函数,可以帮助你轻松地构建跨平台的文件路径。通过使用它,你可以确保你的代码在不同的操作系统上都能正确运行。

2024-11-14 22:12:06 772

原创 python os.walk 详解

os.walk 是 Python 标准库 os 模块中的一个函数,用于生成目录树下的所有文件名。它是一个非常有用的工具,特别是在需要递归遍历目录结构时。下面是对 os.walk 的详细解释和使用示例。

2024-11-14 21:51:21 635

原创 Python ctypes模块 详解

c_int:表示 C 的 int 类型c_double:表示 C 的 double 类型c_char_p:表示 C 的 char * 类型(字符串)c_void_p:表示 C 的 void * 类型(通用指针)ctypes 是一个强大的工具,可以让你在 Python 中调用 C 函数和使用 C 数据类型。通过 ctypes,你可以轻松地与现有的 C 库进行交互,从而扩展 Python 的功能。

2024-11-14 20:48:29 582

原创 python 字典 详解

可以使用大括号 {} 或者 dict() 函数来创建字典。

2024-11-14 20:32:06 372

原创 git 如何获取当前分支的最新提交哈希值(Commit ID)

另外,你也可以使用 `git log` 命令来查看当前分支的提交历史,并从中找到最新提交的哈希值。这个命令会输出当前分支的最新提交的简短哈希值,通常是前几位字符。希望这些方法能帮助你获取当前分支的最新提交哈希值!这个命令会输出当前分支的最新提交的完整哈希值。这个命令会输出当前分支的最新提交的哈希值。

2024-10-25 10:54:03 1319

原创 Python 之进阶语法:with...as...

是从Python2.5引入的一个新的语法,它是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try...except...finlally的处理流程。我们发现,一旦跳入了某条except语句,就会执行相应的异常处理方法(block),执行完毕就会结束。–>发现B错误,开始寻找匹配B的异常处理方法,发现A,跳过,发现except others(即except:),执行exc other block。所谓的表达式,就是错误的定义。

2024-10-07 21:14:35 1573

原创 FreeRTOS的递归互斥锁

在FreeRTOS中,递归互斥锁(Recursive Mutex)是一种特殊类型的互斥锁,允许同一个任务多次获取锁而不会导致死锁。

2024-09-21 19:45:03 461

原创 UART 基本时序介绍

因此第一个采样点的时间是(16+8)Ts = 24Ts,以此类推后面的采样点分别为:40,56,72,88,104,120,136,152。对于发送端,将待发送的数据存入发送寄存器,产生起始位即将电平拉低,随后每1/9600s将寄存器中的数据一位一位的发送出去。当数据发送完毕后,将电平拉高等待下一次的发送。9600bit/s 的意思是每秒发送9600bit,因此可以理解为将1s分解为9600等分,对于发送端来说,每bit电平的维持时间是1/9600s,对于接收端来说,在1/9600s内要完成数据的采样。

2024-09-21 16:55:23 1023

转载 解决“该虚拟机似乎正在使用中”问题

当我们点击“获取所有权(T)”按钮,会发现弹出一个窗口提示无法打开虚拟机: D:\win10\Windows 10 x64.vmx获取该虚拟机的所有权失败。配置文件: D:\win10\Windows 10 x64.vmx”出现这一情况是由于虚拟机未正常关闭引起的。3、将后缀为.lck的文件夹删除,或者或避免删错可以移动到备份文件夹中,也可以直接重命名此文件夹,在这里我将文件夹Windows 10 x64.vmx.lck改为Windows 10 x64.vmx.lck.backup。

2024-09-17 22:14:16 2834

转载 用Vmware打开虚拟机打不开,弹出该虚拟机正在使用中,让你获取所有权

打开虚拟机打不开,弹出该虚拟机正在使用中,让你获取所有权。文件路径,然后删除.vmx.lck的文件夹。

2024-09-17 22:12:46 294

转载 【BMS学习】电池充放电管理-锂电池充电过程

理论上为了防止因充电不当而造成电池寿命缩短,我们将电池的充电过程分为四个阶段:涓流充电(低压预充,此状态的电池电压比较低,实际使用时,建议将锂电池欠压保护点提高,避免电池出现过放电现象)、恒流充电、恒压充电以及充电终止。典型的充电方式是:先检测待充电电池的电压,在电池电压较低情况下,先进行预充电,充电电流为设定的最大充电电流的1/10,当电池电压升到一定值后,进入标准充电过程。

2024-09-09 01:06:34 996

转载 【BMS学习】锂电池基本原理解析:充电及放电机制

但是锂电池的寿命主要体现在充放电周期上,这个周期是一个绝对概念,上次使用了30%电力,充满电,下次又使用了70%的电力,又充满电,这个刚好是 一个充电周期。锂电池的冲放电不是通过传统的方式实现电子的转移,而是通过锂离子在层壮物质的晶体中的出入,发生能量变化。超常时间充电和完全用空电量会造成过度充电和过度放电,将对锂离子电池的正负极造成永久的损坏,从分子层面看,过度放电将导致负极碳过度释出锂离子而使得其片层结构出现塌陷,过度充电将把太多的锂离子硬塞进负极碳结构里去,而使得其中一些锂离子再也无法释放出来。

2024-09-09 00:49:50 2551

原创 RT-Thread 文档中心,非常有用!

RT-Thread 文档中心 RT-Thread-首页-RT-Thread问答社区 - RT-Thread

2024-03-10 22:40:51 631

转载 源码解读·RT-Thread多任务调度算法【学习】

本文依据RT-Thread当时最新版本4.0.1版本源码RT-Thread操作系统是一款基于优先级和时间片轮转的多任务实时操作系统。其调度算法采用256个优先级,并支持相同优先级的任务存在。不同优先级的任务采用优先级调度,而相同优先级的任务则采用时间片轮转调度。其实这种调度算法在绝大多数系统中都一样,像我知道的μCos和freertos都是如此。不过这里需要先了解一个问题,也是我初学时被困扰的问题——多种调度算法存在时那么何时采用何种调度算法?彼此又是如何共存和协调进行的?

2024-03-10 22:32:19 416

原创 C语言snprintf():将格式化字符串输出到数组中

snprintf() 是 C语言的一个标准库函数,定义在<stdio.h>头文件中。snprintf() 函数的功能是格式化字符串,并将结果存储在指定的字符数组中。

2024-03-10 20:26:48 4413

原创 Linux下menuconfig与Kconfig基础知识概要

menuconfig是Linux平台用于管理代码工程、模块及功能的实用工具。上至决定某一程序模块是否编译,下到某一行具体的代码是否需要编译以及某个项的值在本次编译时该是什么都可由menuconfig来定义。menuconfig的使用方式通常是在编译系统之前在系统源代码根目录下执行命令从而打开一个图形化配置界面,再通过对各项的值按需配置从而达到影响系统编译结果的目的。

2024-03-10 16:56:11 2555 1

转载 Kconfig 语法分析详解

RT-Thread 借助 Kconfig 文件生成的配置文件 rtconfig.h 来配置系统,Kconfig 文件是各种配置界面的源文件。当在 bsp 目录下使用 env 工具执行 menuconfig 命令时会出现 RT-Thread 系统的配置界面,所有配置工具都是通过读取当前 bsp 目录下的 Kconfig 文件来生成配置界面的,这个文件就是所有配置的总入口,它会包含其他目录的 Kconfig 文件。

2024-03-10 15:35:51 2004

原创 VS Code如何统计代码量

在 VS Code 中,可以使用插件来统计文件夹里的代码行数。以下是使用插件的步骤:打开 VS Code,点击左侧的插件图标(或者按下快捷键),搜索并安装插件。安装完成后,打开要统计代码行数的文件夹,右键点击文件夹,选择等待插件统计完成,会在 VS Code 底部状态栏显示统计结果,包括代码行数、空行数、注释行数等。

2024-02-22 21:59:17 6009

原创 C语言实现一个简易的环形FIFO

设计一个环形FIFO缓冲区,用于存储原始数据。环形FIFO缓冲区最大有10个节点,每个节点有200个原始数据,即200个unsigned int类型的数据。其中,包括写FIFO函数,读FIFO函数,删除某节点函数,删除整个FIFO函数等。

2024-02-12 13:02:06 719

原创 makefile之ifeq代码的AI注释【学习】

实用程序用来构建和管理各种语言(最常见的是C和C++)项目的文件。这个特定的Makefile用于根据配置选项有条件地在构建过程中包含某些源文件和目录。如果定义了宏,相关的代码将被包含在最终的可执行文件中。如果没有,它将被忽略。第二个参数是一个变量,预期在Makefile的其他地方或在环境中设置。指令是Makefile中的一个条件指令。是GCC和Clang编译器常用的标志,用于定义预处理器宏。这个变量可能在Makefile的后面用来编译所有源文件。这个目录是编译器在编译过程中查找额外头文件的地方。

2024-01-27 19:38:17 530

原创 “sudo pip:找不到命令” 怎么解决

2:然后根据python版本下载相应的pip。(不同版本的python改变后面数字就行)3:下载完成后再对pip进行一个升级。1:先检查python版本。

2024-01-12 20:52:39 2034

SGM7227 双刀双掷模拟信号开关

SGM7227 双刀双掷模拟信号开关

2024-06-13

Python安装包 python-2.7.13

Python安装包 python-2.7.13

2017-07-21

Python安装包 python-3.6.1

Python安装包 python-3.6.1

2017-07-21

网络抓包工具wireshark-win32_cn

网络抓包工具wireshark

2017-07-21

网络调试工具TCPUDPDebug101_Setup

网络调试工具TCPUDPDebug101_Setup

2017-07-21

dsComMonitor.rar

名为大傻串口调试工具,串口调试工具,用了几年,很好用!

2015-10-23

CommMonitor3.13串口数据监测.rar

串口数据监测工具,可以监控串口调试工具的收发情况连接断开情况等,很好用!

2015-10-23

SecureCRTandSecureFXv7.3.3x86x64build779正式版-附带注册机

SecureCRTandSecureFXv7.3.3x86x64build779正式版-附带注册机

2015-10-23

空空如也

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

TA关注的人

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