自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 scp命令解析(AI版)

👉scp用 SSH 把文件从一台设备安全复制到另一台设备。

2026-04-29 09:20:44 37

原创 上拉(Pull-up)、下拉(Pull-down)和高阻态(High-Z)的概念、原理与应用(1.0版本,未完善)

高阻态 ≠ 0V 或 5V,而是“电压不确定”,易受噪声干扰。(如 I²C、GPIO 开漏模式),此时 MCU。,此时驱动能力确实由上拉电阻和 VCC 共同决定。,后续根据波形(示波器)或功耗要求调整。按键按下为低,松开为高(默认有效),不能主动输出高电平。开漏结构,需外部上拉提供高电平。保持系统上电/复位时的确定状态。按键输入(一端接 VCC)I²C、SMBus 总线。按键按下为高,松开为低。按键输入(一端接地)如某些使能信号低有效。

2025-12-19 15:27:59 1423

原创 推挽(Push-Pull)、开漏(Open-Drain)和高阻态(High-Impedance / Hi-Z) 的基本原理

同时具备“推”(输出高)和“挽”(输出低)能力;内部P-MOS 和 N-MOS 都可用;默认的、最常用的 GPIO 输出模式。只有 N-MOS(下管),没有 P-MOS(上管);能主动输出低电平,但不能主动输出高电平;高电平时处于高阻态,需靠外部上拉电阻拉高。💡 “开漏” = “漏极开路”(Open Drain),源自 MOS 管的漏极(Drain)直接暴露在外。特性推挽输出(Push-Pull)开漏输出(Open-Drain)能否输出高电平?✅ 能(直接驱动)

2025-12-19 13:21:25 1333

原创 使用 CMake 和 Kconfig 构建系统时,增量编译和全量编译的区别

项目增量编译全量编译编译范围仅变更文件及其依赖所有文件速度快慢适用场景日常开发、小改动配置大改、构建异常、发布构建是否受 Kconfig 影响是(若配置变,相关模块重编)是(总是基于最新配置)日常开发优先使用增量编译以提升效率。若修改了 Kconfig 选项、设备树、或遇到“代码改了但行为没变”等诡异问题,尝试全量编译排除缓存干扰。全量编译:就像你把已经搭好的整个积木城堡全部拆掉,然后从第一块开始重新搭一遍。不管有没有改过,全都重来。👉优点:保证搭得绝对正确。👉。

2025-12-18 15:44:00 855

原创 C语言格式说明符(print语句中%后加的字符)

(程序可能崩溃或输出乱码),所以务必匹配变量类型。如果你在嵌入式开发中常用。

2025-12-03 13:26:03 495

原创 在星闪liteos中创建一个helloworld工程,以在wsl-ubuntu-fbbws63环境下创建为例

例如以下代码,告诉CMake系统在什么条件(定义CONFIG_ENABLE_MY_DEMO)下编译hello_world目录,CONFIG_ENABLE_MY_DEMO 是Kconfig生成的宏,add_subdirectory_if_exist 确保demo目录存在时才添加。在demo.c、demo.h中添加自己的业务代码,这里以在demo.c中添加一个创建任务,并在任务中打印消息为例,app_run函数为应用程序的入口函数。在SOURCES_LIST中添加.c文件,多个.c文件直接换行加在后面即可。

2025-11-16 15:33:59 578 2

原创 C语言编译过程中产生的各种文件

多文件编译链(main、math 系列):main.c 和 math.c 各自经历预处理、编译、汇编过程,生成 main.o 和 math.o,再将这些目标文件与 hello.o 一起链接,最终生成可执行文件 program。单文件编译链(hello 系列):hello.c 经预处理生成 hello.i,再经编译生成汇编文件 hello.s,接着经汇编生成目标文件 hello.o,最后经链接生成可执行文件 hello。生成命令:gcc -c hello.c -o hello.o。

2025-11-15 21:05:19 1090 1

原创 C语言程序编译过程

这两种情况所使用的硬件相同,所以目标代码相同,但是Windows和Linux所需的启动代码不同,因为这些系统处理程序的方式不同。然而,目标文件中只包含编译器为你编写的代码翻译的机器语言代码,可执行文件中还包含你编写的程序中使用的库函数和启动代码的机器代码。我们在这里描述的是最普遍的一种形式,即把源代码转换为机器语言代码,并把结果放在目标代码文件 (或简称目标文件 )中(这里假设源代码只有一个文件)​。链接器的作用是,把你编写的目标代码、系统的标准启动代码和库代码这3部分合并成一个文件,即可执行文件。

2025-11-15 17:43:36 734 1

原创 佳能相机.cr2文件浅度解析

前者不仅仅是一种图像格式,而是存储了大量的原始数据,是佳能专有的RAW图像格式,基于TIFF 6.0架构设计,采用拜耳阵列原始数据存储机制,保留了CMOS传感器捕获的12位或14位未经处理的像素信息。这意味着在后期处理时,有很大的调整空间,可以对照片的色彩、对比度、曝光等参数进行大幅度且较为精准的调整,能最大程度还原拍摄场景的细节和色彩。这也保证了图像的高质量和高分辨率。图像存档:因其包含丰富原始信息,适合长期存档,以便未来有新的后期处理技术或需求时,仍能从原始数据中挖掘出更多可能性。

2025-11-10 20:21:10 746

原创 硬件工程师常看

弗吉尼亚理工的CPES中心。W2aew(射频电路)芯查查X星球(app)苏老师出品,必属精品。老吴,一个有趣的男人。台湾同胞做的,很给力。

2025-11-10 20:05:22 318

原创 wsl--import导入命令解析

使用 wsl --import 命令不是简单的 “直接解压”,而是将 WSL 分发版的镜像文件(通常是 .tar 格式)导入为可运行的 WSL 系统实例—— 过程中会包含 “解压镜像内容 + 初始化 WSL 运行环境” 两步,最终生成一个完整的、可启动的 WSL 子系统(而非单纯的解压文件)。导入后的结果:生成一个独立的 WSL 实例(可通过 wsl --list -v 查看),而非单纯的文件夹(虽然导入时会指定 “安装目录”,但该目录下是 WSL 运行所需的系统文件,不能直接修改或打开)。

2025-11-08 17:36:00 2137

原创 Ubuntu Vim 保存退出方法

a:在光标 后面 插入(比如光标在 “abc” 的 “b” 上,按 a 后输入 “x” 变成 “abxc”)(放弃修改)或 wq(保存退出)。:%s/旧内容/新内容/g # 替换整个文件的所有“旧内容”(最常用,比如批量改变量名):s/旧内容/新内容/g # 替换当前行的所有“旧内容”(g=global):%s/旧内容/新内容/ # 替换整个文件的第一个“旧内容”(%=整个文件)基础移动:h(左)、j(下)、k(上)、l(右)(替代方向键,习惯后效率翻倍)

2025-11-08 16:43:40 880

原创 嵌入式的状态机

(Embedded State Machine)是一种基于有限状态机(Finite State Machine, FSM)理论的建模方法,用于描述和控制嵌入式设备在不同状态下的行为及其状态转换逻辑。它通过定义系统的状态、触发状态转换的事件以及状态切换时的动作,使复杂的嵌入式逻辑变得清晰、可控,尤其适合处理实时性强、事件驱动的场景。从一个状态到另一个状态的迁移,由特定事件触发,并可能伴随相应的动作(如输出控制信号、更新变量、记录日志)。在状态切换前后执行对应操作,或在主循环中根据当前状态调用不同函数。

2025-04-26 11:49:01 1850

原创 ST 32烧录时no target connected及解决方法

3.keil软件Debug->use ST-Link Debugger->settings-Debug- Target Com中Port->SW。4.stlink upgrade更新一下驱动。1.检查接线,仔细检查,极有可能是线连错了。2.检查接线,仔细检查,极有可能是线连错了。3.检查接线,仔细检查,极有可能是线连错了。

2025-02-03 02:13:07 1819

原创 keil5报错*** Error: CreateProcess failed, Command: ‘fromelf.exe --bin -o ./erPro.bin ./build/er.a及解决方法

编译文件时出现*** Error: CreateProcess failed, Command: 'fromelf.exe --bin -o ./erPro.bin ./build/er.axf'解决方法:退出keil5,清除中间生成程序重新编译。

2025-02-03 00:35:56 661

【嵌入式开发】基于CMake的SLE-ADC通信模块配置:服务端与客户端源码编译集成方案设计

内容概要:本文档为CMake构建系统配置文件(CMakeLists.txt),定义了根据预设条件编译不同源文件的逻辑。主要针对SLE_ADC通信示例项目,依据配置宏CONFIG_SAMPLE_SUPPORT_SLE_ADC_SERVER或CONFIG_SAMPLE_SUPPORT_SLE_ADC_CLIENT决定编译服务端或客户端相关源码,包括主程序文件、外设驱动(如SSD1306 OLED显示驱动)及传感器示例代码(如DS18B20)。文件通过条件判断将对应模块的源文件路径加入全局变量SOURCES中,供上层构建系统使用,实现灵活的模块化编译控制。; 适合人群:熟悉嵌入式开发、C语言及CMake构建系统的工程师或开发者,尤其适用于参与低功耗蓝牙或传感器通信项目的技术人员。; 使用场景及目标:①用于配置和构建SLE_ADC服务端或客户端固件工程;②实现根据不同硬件或功能需求选择性编译对应模块,提升项目可维护性和灵活性;③支持嵌入式设备中传感器数据采集与显示功能的快速集成与调试。; 阅读建议:需结合项目整体架构和其他源码文件理解其作用,建议在实际构建环境中配合编译工具链进行测试,熟悉条件编译机制及其对工程结构的影响。

2026-01-15

【嵌入式控制】基于GPIO模拟PWM的舵机角度控制:SG90/SG92R系列舵机左右90度精准转向驱动程序设计

内容概要:本文介绍了一段基于嵌入式系统的C语言代码,用于通过GPIO模拟PWM信号控制SG90舵机的转动。由于硬件PWM模块不支持50Hz的低频信号,因此采用软件方式通过精确控制高电平持续时间来模拟PWM波形。代码实现了舵机的三种基本动作:居中、左转90度和右转90度,分别对应高电平持续时间为1500μs、2500μs和500μs。程序通过循环发送多个脉冲确保舵机稳定到达指定位置,并利用系统滴答定时器进行微秒级延时控制。整个流程由独立任务调度执行,包含引脚初始化、方向设置及看门狗喂狗操作,保证系统稳定性。; 适合人群:具备嵌入式C语言编程经验,熟悉GPIO、定时器和任务调度的1-3年工作经验的嵌入式开发人员;或对硬件控制感兴趣的电子工程类学生; 使用场景及目标:①学习如何在无硬件PWM支持下用GPIO模拟PWM信号;②掌握舵机控制原理及脉宽与角度的关系;③理解嵌入式实时任务中延时、初始化与状态切换的设计方法; 阅读建议:阅读时应结合代码逐函数分析执行逻辑,重点关注SetAngle、延时控制与时序配合,并可在实际开发板上调试验证不同脉宽对舵机角度的影响。

2026-01-15

DS18B20-demo.cwjian

DS18B20-demo.cwjian

2026-01-15

【嵌入式系统】基于DS18B20的单总线温度传感驱动开发:实时CRC校验与STM32低功耗测温应用设计

内容概要:本文档为一份基于嵌入式系统的DS18B20数字温度传感器驱动实现代码(C语言),详细实现了单总线协议下的设备初始化、复位检测、读写时序控制、温度获取及CRC校验等功能。程序采用GPIO模拟1-Wire通信协议,包含精确的微秒级延时控制,并通过独立任务周期性读取温度数据,支持跳过ROM指令和暂存器读取,确保数据可靠性。同时集成了OSAL操作系统抽象层进行任务管理与延时操作,具备良好的可移植性和调试信息输出。; 适合人群:具备嵌入式C语言编程经验、熟悉单片机外设驱动开发的工程师或物联网开发者,尤其适合有一定RTOS或轻量级系统开发经验的技术人员;; 使用场景及目标:①学习并掌握DS18B20传感器的工作原理与单总线协议时序实现;②在实际项目中集成温度采集功能,如环境监测、智能硬件等;③作为GPIO模拟复杂时序通信的参考案例;; 阅读建议:阅读时应结合DS18B20数据手册对照关键时序参数(如复位、读写脉冲)理解代码逻辑,重点关注CRC校验、温度解析及任务调度机制,建议在实际硬件平台上调试验证各函数行为。

2026-01-15

010667PH测试模块-最新.rar

010667PH测试模块-最新.rar

2025-12-17

K230代码资源.zip

K230代码资源.zip

2025-12-17

PH传感器资料.zip

PH传感器资料.zip

2025-12-17

夹爪12345.zip

夹爪12345.zip

2025-12-17

大舵机stl格式.zip

大舵机stl格式.zip

2025-12-17

星闪代码解析资源.zip

星闪代码解析资源.zip

2025-12-17

k230网络调参.zip

k230网络调参.zip

2025-12-17

WS63V100-BOOT-API开发参考-01.pdf【嵌入式系统开发】基于WS63V100的BOOT API接口技术:Flashboot升级功能实现与本地存储管理方案设计

内容概要:本文档为《WS63V100_BOOT_API开发参考》,主要介绍WS63 Flashboot中与固件升级相关的API接口,涵盖升级包存储、本地升级流程及升级包校验三类核心功能。文档详细列出了各接口的功能描述、输入参数、返回值及使用方法,包括初始化、升级包写入(支持同步与异步)、读取、升级请求、进度回调注册、升级启动、结果获取以及升级包头部、镜像和完整性的校验机制,还支持用户自定义校验函数的注册。; 适合人群:适用于从事嵌入式开发的软件开发工程师和技术支持工程师,特别是需要集成或调试WS63V100平台FOTA升级功能的技术人员。; 使用场景及目标:① 实现设备端升级包的安全存储与完整性校验;② 构建可靠的本地升级流程,监控升级进度并获取结果;③ 扩展升级包验证机制,支持用户自定义数据校验。; 阅读建议:使用时应结合《WS63V100 FOTA开发指南》配套文档,重点关注接口调用时序与错误处理机制,实际开发中需严格按照API规范进行参数传递与回调函数实现,并注意安全警示信息以避免系统异常。

2025-12-15

【操作系统部署】基于WSL2的Linux子系统配置指南:Windows环境下Ubuntu与Kali双系统集成及Docker开发环境搭建

内容概要:本文详细介绍了如何在Windows系统上部署和配置Linux子系统(WSL),包括启用“适用于Linux的Windows子系统”和“虚拟机平台”功能、安装Linux内核更新包、设置WSL 2为默认版本、安装与管理多个Linux发行版(如Ubuntu、Kali Linux)、子系统的备份与恢复、文件共享机制、跨系统命令调用(Windows与Linux互操作)、图形界面应用支持(WSLg)、GPU显卡直通、远程桌面连接以及高级网络配置(镜像模式)。此外,还涵盖了在WSL中搭建特定开发环境(如FBB_WS63星闪开发板)的完整流程,包括导入定制化发行版、使用VSCode远程开发、代码下载编译、menuconfig配置、镜像烧录等操作。; 适合人群:具备一定Linux和Windows操作系统基础,从事嵌入式开发、AI开发或网络安全相关工作的研发人员,尤其是需要在Windows环境下使用Linux工具链的开发者;适合工作1-3年希望提升开发效率的技术人员。; 使用场景及目标:① 在Windows上高效运行Linux环境,避免双系统或虚拟机资源占用;② 实现Windows与Linux无缝协作,支持GUI应用、GPU加速和跨系统文件操作;③ 搭建嵌入式开发环境,完成代码编译、配置与设备烧录;④ 提升开发调试效率,利用VSCode远程开发功能进行项目管理。; 阅读建议:建议按照文档步骤逐步操作,注意管理员权限、系统版本要求及重启时机;配置修改后务必执行wsl --shutdown并等待8秒再重启以确保生效;对于开发场景,建议结合实际硬件进行实践,遇到问题可参考提供的FAQ链接。

2025-12-15

机械手2.0版本,存在不足和缺陷

机械手2.0版本,存在不足和缺陷

2025-12-15

机械手的三点零版本,升级了关节

机械手的三点零版本,升级了关节

2025-12-15

两根线的机械手可以抓可以用

两根线的机械手可以抓可以用

2025-12-15

基于32的扫地机器人参考代码

基于32的扫地机器人参考代码

2025-11-12

oled显示屏取模教程

oled显示屏取模教程

2025-11-11

电子宠物小狗V2.0版本资料.zip

电子宠物小狗V2.0版本资料.zip

2025-11-11

嵌入式系统开发中基于LiteOS的ws63芯片配置菜单详解:涵盖驱动、通信协议与安全功能的参数设置指导

内容概要:本文档详细介绍了fbb_ws63芯片平台的编译与系统功能配置菜单(menuconfig),涵盖目标选择、应用程序示例、引导加载程序、驱动程序、芯片配置、中间件、协议支持(如蓝牙、WiFi、NFC、雷达)、电源管理、安全功能、外设接口(如UART、I2C、SPI、PWM)以及测试调试等模块的配置选项。文档提供了各功能模块的启用开关、参数设置(如波特率、内存大小、工作模式)和版本选择,指导开发者通过图形化配置界面进行系统定制化开发。; 适合人群:嵌入式系统开发工程师、物联网设备开发者、具备一定嵌入式开发经验的技术人员,熟悉C语言和基本硬件外设驱动者优先。; 使用场景及目标:①用于fbb_ws63平台的固件编译前系统配置;②根据具体硬件需求启用或关闭特定外设和功能模块;③优化系统资源分配(如内存、功耗);④集成蓝牙、WiFi、雷达、NFC等通信与感知功能;⑤实现安全启动、固件升级(FOTA)、异常处理等关键机制。; 阅读建议:建议结合实际开发环境操作menuconfig工具,逐项理解配置含义,重点关注芯片型号、外设引脚、串口参数、安全功能和协议支持等核心配置项,避免误配导致系统无法启动或外设失效。

2025-11-09

【嵌入式系统】基于IO复用表的多模式引脚功能配置:实现PWM、UART、SPI等外设资源动态分配的设计方案

内容概要:本文档为一份IO复用表,详细列出了各GPIO引脚在不同模式下的功能分配与复用配置,涵盖多种外设接口如PWM、UART、SPI、I2C、SSI、JTAG、I2S等,以及诊断信号(DIAG)、时钟信号(REFCLK)、同步脉冲(WIFI_TSF_SYNC、WL_GLP_SYNC_PULSE)和硬件ID检测等功能。每个GPIO引脚对应多个可配置功能,支持根据工作模式进行灵活切换,适用于芯片级硬件设计与系统初始化配置。; 适合人群:从事嵌入式系统开发、硬件设计或底层驱动开发的工程师,具备基本数字电路和微控制器知识的研发人员;; 使用场景及目标:①用于硬件设计阶段确定引脚功能分配;②指导Bootloader或内核中GPIO初始化配置;③协助解决引脚冲突问题,优化外设布局;④支持调试过程中对JTAG、诊断接口等功能引脚的正确使用; 阅读建议:此文档应结合芯片数据手册和实际硬件原理图对照使用,重点关注所需外设的功能引脚是否与其他信号存在复用冲突,并在软件配置时确保模式选择正确以避免功能异常。

2025-11-05

黑白双色机器人头像(戴头盔)

黑白双色机器人头像(戴头盔)

2025-11-05

空空如也

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

TA关注的人

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