- 博客(11)
- 收藏
- 关注
原创 手搓memcpy(嵌入式面试必考)
s 是个死心眼的指针,一旦初始化指向了谁,就不能变了 (不能写 s++)。const char *s (或者 char const *s)我可以修改 s (可以写 s++,让它指向下一个字节)。memcpy 的 src,因为我们只读它,绝不改它。我不能修改 *s (不能写 *s = 'A')。我可以修改 *s (可以写 *s = 'A')。类似于硬件寄存器基地址,地址固定,但值可以变。1. 核心口诀:看 * 号的位置。
2025-12-22 14:38:38
96
原创 环形缓冲区C语言实现(嵌入式面试必考,必用,手搓)
本文介绍了C语言环形缓冲区的实现及其在网络编程中的应用。环形缓冲区采用"预留一个空位"策略判断满/空状态,实现了初始化、读写操作和状态查询等功能。特别提出了"Peek&Commit"模式,通过预读和确认消费机制解决网络通信中的粘包和半包问题。文章详细展示了缓冲区结构设计、基本读写接口实现,并给出了处理网络协议的伪代码示例,包括包头识别、数据校验等关键步骤。最后提供了完整的头文件接口定义,支持基本操作和高级网络处理功能。该实现适用于需要高效数据缓冲的场景,特别是
2025-12-19 13:39:08
93
1
原创 Linux韦东山学习笔记(个人学习记录)
波特率:每一位所占据的时间,比如说是115200。8n1,表示8数据,无校验,1停止位。每一位需要的时间t = 1/115200,每个字节需要10位(1开始 8 数据 1结束)。每个字节传输时间 t = 10 / 115200 =1秒钟传输的数据 1 / t = 115200 / 10 = 11520Byte。
2025-12-04 11:19:53
849
原创 SSH配置免密登录
本文详细介绍了如何为iMX6ULL开发板配置SSH密钥登录,实现安全远程访问。作者通过FRP内网穿透暴露开发板后,发现密码登录存在安全隐患,转而配置Windows(MobaXterm)和Ubuntu的SSH密钥登录。文章详细说明了公钥/私钥原理、密钥生成方法,以及如何将公钥部署到开发板。同时提供了sshd_config的关键配置建议,包括禁用密码登录、设置心跳检测等安全措施。最后演示了通过命令行和MobaXterm进行文件传输的方法。这套方案既保证了远程访问的便利性,又大幅提升了安全性。
2025-12-03 11:41:46
909
原创 手把手教你用反向代理远程连接嵌入式开发板(实测方案+完整配置)(内网穿透)
本文详细介绍了FRP反向代理的配置过程,分为服务器端(FRPS)和客户端(FRPC)两部分。服务器端配置包括:在阿里云ECS服务器上安装FRP、配置frps.toml文件参数、设置systemd服务实现开机自启。客户端配置包括:开发板网络连接设置、下载对应架构的FRP程序、配置frpc.toml文件实现SSH穿透、阿里云安全组规则配置。最后通过编写智能启动脚本实现开发板开机自动联网和启动FRPC服务,并提供了服务管理命令和安全性建议。整个过程实现了通过公网IP远程登录开发板的功能,并确保服务稳定运行。
2025-11-27 00:15:52
637
原创 SEGGER-RTT Viewer打印(可替代串口)
摘要:SEGGER的RTT(Real-Time Transfer)技术通过调试接口实现嵌入式目标与主机的双向数据传输。它利用RAM环形缓冲区作为通信通道,无需额外外设,具有高速低延迟特性。使用步骤包括:1)准备Keil-MDK环境及J-Link工具;2)移植SDK并下载程序;3)通过J-Link RTT Viewer连接设备。示例展示了自定义打印宏rtt_dbg0的实现,最终调用SEGGER_RTT_printf函数输出带时间戳和格式的调试信息。该方法特别适合实时调试场景。
2025-11-07 17:31:48
379
原创 ESP-IDF环境下ESP32开发-SDK配置调整(sdkconfig)
摘要:本文介绍了如何优化ESP32-S3R8N16开发板的资源配置,包括调整16MB外置Flash和8MB PSRAM。首先通过SDK配置编辑器设置系统时钟为240MHz、Flash大小为16MB。接着通过在sdkconfig文件中手动添加PSRAM支持配置项,并修改CMakeLists.txt添加必要的组件依赖。最后在main文件中添加相关代码,实现了开机时显示可用外部存储和主频信息的功能。通过以上步骤,成功实现了对开发板内存资源的充分利用。
2025-10-29 17:54:01
1141
原创 ESP-IDF环境下ESP32开发-创建工程
本文介绍了ESP-IDF工程的创建和运行步骤:首先在Trae中下载ESP-IDF插件并配置环境,通过向导创建工程(选择ESP32S3开发板和hello_world模板);接着在指定目录打开工程,连接设备串口后执行编译烧录操作。文章还提供了编译缓慢的解决方案链接,最终成功运行了helloworld程序。
2025-10-28 09:54:36
310
原创 ESP-IDF编译缓慢问题
在Vscode 的 ESP-IDF插件中编译时,编译非常慢!打开任务管理器可以发现有一项进程Microsoft PC Manager Service占用了大量性能!此时我们在任务管理器中点击服务,然后点击下面的打开服务,找到Microsoft PC Manager Service双击,先。点击应用,此时回到Vscode,编译便回到了正常速度。
2025-08-31 23:18:56
262
原创 STM32控制180度位置舵机(SG90)
180度位置舵机通常用于位置控制,一开始我想使用360度舵机,我想着转动度数大所以操作空间大,所以我买了一个金属齿轮的MG90S的360度舵机,所以踩坑了,输出PWM波时舵机直接连选旋转,我搜索一些资料后发现:180度舵机:适合。需要精确定位和角度控制的应用,如自动门锁、摄影设备的云台、以及各种需要角度调节的机械部件。360度舵机(连续旋转舵机):适用于需要连续旋转或速度控制的场合,例如作为小型机器人的驱动轮、玩具车的方向盘控制等。也就是说360度舵机你只要给他信号他会连续不断的一直旋转。
2024-12-15 23:44:55
2653
原创 ESP32与STM32(不定长数据)的串口通讯
ESP32与STM32作为两款嵌入式入门时最常接触到的芯片,接下来我分享一下我学习时实现的两芯片之间的通讯功能。
2024-10-31 23:33:47
5777
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅