- 博客(14)
- 收藏
- 关注
原创 【无标题】
本文介绍了C语言中for循环的基本语法和使用要点。for循环由初始化、条件和迭代三部分组成,各部分可省略但分号必须保留。文章对比了for循环与while循环的等价形式,并给出了不同场景下的循环选择建议:固定次数用for、必须执行一次用do_while、其他用while。同时解释了break和continue的区别,break直接退出循环,continue跳过当前迭代。最后提到goto语句可用于多重循环中跳转到指定标号位置。这些内容涵盖了C语言循环结构的关键知识点。
2025-12-15 16:00:29
104
原创 【无标题】
摘要:本文介绍了C语言基础控制结构,包括if-else级联语句、switch-case选择结构、while和do-while循环的应用实例。重点讲解了循环结构在数位处理(如数字逆序)和算术平均数计算中的实现方法,涉及变量定义、循环条件判断和基本运算操作。通过具体代码示例(如1234逆序输出为4321)展示了%和/运算符在数字处理中的关键作用,以及循环结构对用户输入的处理流程。
2025-12-11 15:02:36
398
原创 舵机学习-5
摘要:本文介绍了基于PWM信号的舵机控制系统实现方法。系统通过初始化函数servo_init()配置GPIO端口,并使用servo_set()函数控制舵机输出电平。核心函数servo_run()实现了舵机运动控制,包括参数有效性检查(舵机编号0-5、目标值500-2500、时间<10s)、防零值处理、量程保护等功能。当运行时间≥20ms时采用平滑运动模式,计算位置增量实现缓动效果。此外,通过按键控制演示了短按(500ms内移动100单位)和长按(每500ms增加10单位)两种操作模式。
2025-11-26 10:51:33
271
原创 舵机学习-4
本文介绍了Flash存储技术的基本概念与应用。Flash分为NOR和NAND两种类型:NOR支持随机访问,适合存储启动代码和小容量程序;NAND采用块访问,容量大成本低,适用于U盘、SSD等大容量存储。文中还提供了Flash的C语言操作示例,包括初始化、读取、写入和擦除等基本操作,并解释了串口接收缓冲区的工作流程。最后对比了Flash读取与写入的区别,指出写入操作需要先擦除且会影响芯片寿命。
2025-11-21 11:17:26
554
原创 舵机学习-3
本文介绍了STM32串口(UART)的基本编程方法。主要内容包括:1.头文件说明:标准库、芯片库和用户自定义头文件的作用;2.串口初始化流程:时钟配置、GPIO设置(TX推挽输出/RX浮空输入)、串口参数(波特率、数据位等)配置;3.中断处理机制:优先级设置和接收中断服务函数实现;4.数据收发:单字节发送/接收、字符串发送的实现原理;5.实用技巧:宏定义简化代码、状态标志管理、缓冲区安全处理等。文中详细讲解了每个步骤的硬件原理和软件实现方法,并提供了典型代码示例。
2025-11-17 15:14:34
551
原创 舵机学习-2
摘要:本文介绍了舵机控制中基于按键触发的蜂鸣器响应逻辑。通过定义delay_ms延时函数,分别比较u16和u32两种数据类型的适用范围(u16最大延时65.5秒,u32可达49.7天)。重点阐述了按键检测机制:当KEY1按下时,先延时50ms防误触,通过比较millis()系统时间与按下时长实现长短按判断。短按(<500ms)触发蜂鸣器3次间隔500ms的报警,长按持续报警直至松开。同时说明millis()是独立计时模块,systick_ms_bak用于记录按键起始时间。按键2采用相同逻辑控制灯光。(
2025-11-14 10:21:24
403
原创 32舵机学习-点亮led
摘要:本文介绍了STM32舵机开发中的定时器编程要点,重点解析了头文件保护宏#ifndef...#define...#endif的使用方式,以及void函数和u32类型的定义方法。详细说明了systick定时器的配置原理(72MHz主频下72000分频=1ms中断),并通过代码示例展示静态变量systick_ms的累计过程。最后以模块化框图展示了timer.h文件的结构组成,包括初始化函数、中断服务程序和接口函数的工作流程。
2025-11-12 22:26:24
506
原创 PIXRACER R15学习-硬件连接
摘要:PIXRACERR15是PIXHAWAK系列中的一款紧凑型飞控硬件平台,适合空间受限环境。其主要接口包括:ESP8266 WiFi模块、FrSky外设扩展接口、遥控器信号输入口(支持PPM/SBUS)、数传电台接口(带硬件流控)、CAN总线(连接电调等外设)、舵机/电调输出通道(1-6个)、USB调试接口以及蜂鸣器/安全开关。该平台还提供开发者专用的Debug接口,支持底层诊断和维修。这些接口设计满足了无人机控制、数据传输和外设连接的核心需求,兼顾了普通用户和开发者的使用场景。
2025-10-14 15:02:20
334
原创 C语言学习DAY3
本文摘要介绍了时间计算、数字处理及编程基础。主要内容包括:1)时间加减运算示例;2)数字逆序处理方法;3)进制转换操作;4)if-else条件语句的基本语法和注意事项;5)关系运算符的使用规则及优先级顺序;6)单行和多行注释的写法。重点强调了编程规范,如为每个条件分支添加代码块,并说明了运算符的优先级关系(算术>关系>赋值)。这些内容涵盖了编程中的基本运算和流程控制知识。
2025-09-28 21:49:16
161
原创 C语言学习DAY2
本文总结了C语言学习中的关键知识点:1)表达式由运算符和算子组成;2)编程需考虑数据处理和用户交互;3)注意scanf和printf的格式要求;4)运算符优先级和递增/递减运算(A++与++A的区别);5)类型转换问题,如整数除法会截断小数(170/100=1),需使用100.0转为浮点运算;6)避免复杂表达式,建议分步计算。文中特别强调了类型转换在实际编程中的重要性,如厘米转换英寸时需注意整数除法问题。
2025-09-27 22:25:39
211
原创 SolidWorks-桨叶镜像
本文介绍了无人机CFD仿真前桨叶镜像处理的具体步骤。首先以3011型号的CW桨为原文件,通过在桨夹处构建三点定位,建立基准面。然后使用镜像功能,选择基准面和需要镜像的桨叶特征,最终删除原特征得到对应的CCW桨模型。整个过程包括:1)打开原始CW桨文件;2)建立定位点和基准面;3)执行镜像操作;4)清理原特征获得最终结果。该方法适用于无人机桨叶的对称转换处理。
2025-09-02 10:27:44
255
原创 C语言初学笔记DAY1
这篇文章摘要介绍了C语言编程基础要点:1. printf输出格式及字符串概念;2. 变量定义规则(命名、类型、赋值);3. 常量定义使用const关键词;4. 整数与浮点数运算区别。重点说明了变量类型的重要性、scanf输入格式要求、const常量的命名规范,以及整数除法会丢弃小数部分的特性。文中还对比了C99和ANSI C在变量定义位置上的差异。
2025-08-27 21:33:27
131
原创 飞控目录分析学习
文章摘要:介绍了飞控系统源码目录结构,包括Src(源代码)、Mavlink(通信库)、NuttX(硬件控制)等核心组件,用烹饪比喻编译过程(A-G七个环节)。特别说明开发者在Modules模块进行二次开发时遇到QGC配置文件丢失问题,导致环境配置受阻。全文侧重源码架构解析和开发实践问题。
2025-08-26 21:18:25
202
原创 Ubuntu创建PX4编译环境-增加硬盘空间
【PX4环境搭建经验分享】经历两天成功搭建PX4飞控开发环境,解决了两个关键问题:1)通过MiniToolShadowMaker调整虚拟硬盘分区,实现E盘扩容;2)编译报错时发现版本差异问题,建议直接参考PX4官方Linux环境手册。过程中掌握了虚拟盘扩容和版本兼容性处理方法,欢迎飞控爱好者交流学习心得。新手小明将持续分享学习进展,期待大佬指教!(注:技术细节可查阅相关教程)
2025-08-25 16:38:25
603
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅