- 博客(44)
- 收藏
- 关注
原创 FreeRTOS任务管理详解中: FreeRTOS任务创建与删除实战教程(动态方法)
本文通过LED闪烁和按键删除任务的实战案例,详细讲解FreeRTOS动态任务创建与删除的使用方法,重点解析任务栈溢出问题及解决方案,适合RTOS初学者入门学习。
2025-12-09 23:04:38
1006
原创 手把手教你在 Jetson 上用 WebRTC 实现局域网实时视频监控
本教程教你在 Jetson 上搭建基于 WebRTC 的实时视频监控系统,支持低延迟的视频流和多客户端同时观看,无需插件。
2025-12-09 21:55:25
512
原创 FreeRTOS任务管理详解上:任务的创建与删除
本文系统讲解FreeRTOS任务管理机制,包括动态/静态创建任务的API使用、内部实现原理、任务删除流程及注意事项,并通过实战案例帮助初学者快速掌握任务管理技能。
2025-11-03 12:41:08
628
原创 STM32F407移植FreeRTOS完整教程(HAL库版本)
本文详细介绍了在STM32F407VET6开发板上移植FreeRTOS实时操作系统的完整过程。
2025-10-28 23:09:25
878
原创 C语言入门教程 | 第七讲:函数和程序结构完全指南
本文详细讲解了函数的基础知识、模块化编程、值传递与指针传递、递归应用等内容。通过实例讲解帮助读者掌握函数的使用,提升程序结构的清晰度与可维护性。
2025-10-28 22:58:56
1162
原创 C语言入门教程 | 第六讲:指针详解 - 揭开C语言最神秘的面纱
教程采用通俗易懂的类比方式(如把内存比作公寓楼、指针比作记录地址的本子),配合详细代码示例和运行结果,帮助初学者理解C语言中这一重要而复杂的概念。特别强调了指针在函数参数传递中的实际应用价值。
2025-09-29 20:00:00
690
原创 C语言入门教程 | 第四讲:深入理解数制与码制,掌握基本数据类型的奥秘
本文深入浅出地讲解了C语言中的数制与码制系统,以及基本数据类型。主要内容包括:1)数制系统(二进制、十进制、十六进制转换);2)计算机存储数字的方式(原码、反码、补码);3)C语言基本数据类型(整型、字符型、浮点型)及其特性;4)类型转换与常见陷阱。特别强调了补码的巧妙设计、浮点数精度问题等重要概念,帮助初学者建立扎实的基础知识体系。
2025-09-28 22:17:49
737
原创 C语言入门教程 | 第三讲:循环语句详解
本文详细介绍了C语言中的三种循环语句:while、do-while和for循环。通过多个实战案例(如倒数计时器、密码验证系统、九九乘法表等)演示了每种循环的语法特点和使用场景。文章特别强调了i--与--i的区别,以及break语句的作用,帮助初学者理解循环控制流程。每个示例代码都配有详细注释和预期输出结果,使读者能直观掌握循环语句的核心应用技巧。
2025-09-28 20:49:17
800
原创 C语言入门教程 | 第二讲:表达式和选择语句详解
概述C表达式与选择:区分表达式/语句;覆盖常用运算符;讲类型转换与优先级;提示整浮混算与取余限制。
2025-09-26 15:20:15
1295
原创 C语言入门教程 | 第一讲:C语言零基础入门教程:第一个程序到变量运算详解
从Hello World到变量运算,手把手带你入门C语言编程基础,零基础小白也能轻松掌握。
2025-09-26 14:02:42
1169
原创 Jetson 设备监控利器:Jtop 使用方式(安装、性能模式、常用页面)
Jtop是NVIDIA Jetson设备的系统监控工具,可实时查看CPU、GPU、内存等关键指标。安装只需3条命令:更新系统、安装pip、安装jetson-stats。为获得最佳性能,需开启MAXN模式并锁定最高频率。启动后,jtop提供7个监控页面,包括总览、GPU/CPU状态、内存管理、硬件引擎等,便于性能测试和调优。使用前建议按顺序执行:安装jtop→设置MAXN模式→锁定频率→重启→启动jtop观察。
2025-09-21 17:49:38
801
原创 Jetson平台上CSI摄像头预览配置
本文介绍了在Jetson开发板上配置和使用CSI摄像头的完整流程。首先通过jetson-io工具使能CSI摄像头引脚,配置为IMX219双摄像头模式。重启后可通过ls命令查看video设备节点,使用nvgstcapture工具进行摄像头预览,支持指定不同摄像头ID和设置分辨率参数(如1280x720、1920x1080等)。该指南提供了从硬件配置到软件预览的详细步骤,帮助用户快速实现Jetson平台上多个CSI摄像头的管理与画面预览。
2025-09-21 16:52:06
393
2
原创 嵌入式 Linux 基础入门笔记(1)
嵌入式 Linux 入门基础笔记介绍了新手必备的终端操作知识。主要内容包括:终端打开方式(Ctrl+Alt+T)、基本命令(pwd/ls/mkdir/cd等)、实用快捷键(Ctrl+C终止进程)、常用文本编辑器对比(Gedit/Nano/Vim)。文章强调初学者应先掌握基础命令,选择适合自己的编辑器(推荐Nano),并熟记常用快捷键,为后续嵌入式开发打下基础。这些技能是操作开发板、调试驱动的基础必备知识。
2025-09-19 17:43:45
479
原创 备份软件 Timeshift 安装与使用(超详细图文版)
本文介绍了 Timeshift 在 Linux 下的安装与使用,比较了 Rsync 与 Btrfs 两种模式的优缺点,并提供了不同发行版的安装方法。通过图文演示配置流程和快照恢复步骤,帮助用户快速实现系统的 快照备份与还原,适合在系统升级或调试前使用。
2025-09-17 13:07:51
1667
原创 Jetson 使用 NoMachine 实现远程桌面控制(Windows ↔ Ubuntu aarch64|超详细图文)
面向在 Windows 上远程控制 NVIDIA Jetson(Ubuntu aarch64) 的开发者,本文用 NoMachine 给出下载、安装与首连配置的关键步骤,并附常见问题排查与速查清单,助你在局域网实现低延迟、稳定的远程桌面。
2025-09-17 11:34:14
2320
原创 JetCam安装与在Jetson中VSCode环境下使用CSI摄像头教程
本文介绍了如何在Jetson开发板上安装JetCam库,并在VSCode中配置环境以使用CSI摄像头。通过简单的安装步骤和示例代码,帮助读者快速实现CSI摄像头的图像捕获与处理。
2025-09-15 20:30:32
467
原创 Jetson 刷机/更新后 Firefox & Chromium 打不开?原因排查 + 三种解决方案
刷完机或更新后,Jetson 上的 Firefox/Chromium 点不开?问题多半来自新版 snapd 与内核/安全策略不匹配。文内给出三套方案:新手可用的“立刻恢复”,以及面向长期的 AppArmor+内核配置修复,另有临时替代方案与排查清单。
2025-09-15 11:41:38
1492
1
原创 Jetson 串口通信(UART)快速上手:基于 CuteCom 的回环测试
使用 CuteCom 做一次简洁可靠的 串口回环测试(loopback),确认 /dev/ttyTHS1 可用
2025-09-14 00:09:26
1019
1
原创 嵌入式小白也能玩转“状态机”:从零到一的超详细入门
用最简单的思路,把“状态机”彻底讲明白;学完能自己写一个稳健的按键-LED小项目,并能举一反三。
2025-09-12 13:08:23
957
原创 Jetson一键配置ROS2环境(FishROS 安装脚本)
本文介绍如何在 NVIDIA Jetson 设备上,使用 FishROS 一键配置脚本完成环境初始化。适合新手快速上手。
2025-09-11 20:18:13
458
原创 STM32 新手必看:用 HAL_GetTick() 实现一个最简单的任务调度器
在 STM32 项目中,如何优雅地让多个任务按照不同的周期运行,而不是用 `HAL_Delay()` 堵塞主循环?本文从零开始带你实现一个基于 `HAL_GetTick()` 的简易任务调度器,包含完整源码、使用示例和常见问题解答。即使你是嵌入式小白,看完也能马上上手。
2025-09-11 18:17:16
1236
原创 从0°到180°,STM32玩转MG996R舵机
MG996R舵机如何用STM32驱动?本文从舵机参数、接线方式到PWM原理,再到STM32代码驱动。
2025-09-10 23:50:13
1964
原创 ESP826601S AT指令AT+MQTTUSERCFG报错解决方法
ESP826601S AT指令AT+MQTTUSERCFG报错解决方法
2025-04-05 17:14:59
1136
4
原创 STM32实现RFID开发——搭建开发环境和配置裸机工程
1、了解本次实验使用的 FRID 读写器的组成结构和功能。2、掌握 STM32 开发环境的安装方法。3、掌握 stm32cubemx、stm32cubeide 的基本使用。
2025-03-10 11:11:16
731
原创 stm32卡死在void HardFault_Handler(void)函数内
stm32卡死在void HardFault_Handler(void)函数内该如何解决?
2025-02-18 23:29:25
1628
原创 C++常用STL之vector入门
可以简单的认为它是动态数组,即数组的长度是可以变化的。vector</*数组类型*/>/*数组名*/(/*大小*/,/*值*/);排列前面3个数:sort(vec.begin(),vec.begin()+3);动态数组的排序需要用迭代器(vec.begin(),vec.end())全排列:sort(vec.begin(),vec.end());①动态数组的大小范围为[0,/*数组名称*/.size()-1]5.用/*数组名称*/.size()求动态数组的长度。/*名称*/.empty();
2023-09-08 13:09:12
223
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅