- 博客(9)
- 收藏
- 关注
原创 STM32F103C8T6移植uCOS-III及多任务实现
本文介绍了STM32F103C8T6移植uC/OS-III及实现多任务的完整过程。首先使用STM32CubeMX配置硬件环境,包括时钟、GPIO和串口参数,生成Keil工程。然后详细说明uC/OS-III源码的组织结构,包括将uC-CPU、uC-LIB和uCOS-III等核心文件添加到工程中,并配置相应的头文件路径。通过这种方法,开发者可以基于STM32F103C8T6芯片快速搭建uC/OS-III实时操作系统环境,为后续实现多任务调度功能奠定基础。整个过程涵盖了从硬件配置到软件移植的关键步骤,具有实际参考
2025-11-03 23:02:57
1102
原创 基于STM32与HAL库的U8g2图形库移植及OLED显示
本文介绍了在STM32单片机上移植U8g2图形库实现OLED显示的方法。文章首先分析了OLED显示模块在嵌入式开发中的优势及挑战,指出U8g2图形库凭借轻量级、兼容性好的特点非常适合资源受限的硬件。随后详细讲解了硬件连接方案、STM32CubeMX的I2C和定时器配置步骤,以及U8g2库的精简和移植过程。通过实现硬件接口函数和延时函数,开发者可以快速调用U8g2提供的丰富API,在0.96寸OLED屏幕上实现文本、图形的流畅显示。该方法显著降低了OLED显示开发难度,适合物联网等低功耗场景应用。
2025-11-01 21:25:57
865
原创 基于STM32F103的AHT20温湿度传感器数据采集系统实现
本文介绍了基于STM32F103的AHT20温湿度传感器数据采集系统的实现方法。系统采用I²C总线通信协议,通过STM32CubeMX配置I²C1外设(100kHz标准模式)和USART1串口(115200bps)。硬件连接包括STM32F103C8T6最小系统板、AHT20传感器模块和USB-TTL串口模块。核心代码实现了AHT20初始化、温湿度数据读取和转换功能,并通过串口实时输出数据。该系统可精确测量-40℃~85℃温度(±0.3℃)和0-100%RH湿度(±2%RH),具有硬件I²C自动处理、低CP
2025-10-26 20:29:05
903
原创 STM32 串口通信实战(包含串口、中断、DMA)
本文介绍了基于STM32F103C8T6的串口通信开发实践,包括基础配置、中断控制和DMA传输三种实现方式。通过STM32CubeMX完成硬件初始化,使用Keil MDK-ARM进行开发,实现了115200bps波特率的串口通信。实验内容涵盖:1)无延时连续数据发送;2)通过中断方式响应上位机控制指令("#"暂停/"*"继续);3)采用DMA完成高速数据传输,降低CPU占用率。文章详细说明了硬件连接、软件配置和代码实现,并通过串口调试助手验证了功能,为嵌入式串口开发提
2025-10-20 18:27:08
2333
原创 STM32定时器与PWM
本文介绍了STM32定时器与PWM的应用实现。主要内容包括:1) 使用STM32CubeMX配置定时器中断,实现5秒串口发送和2秒LED闪烁的多任务并发;2) 通过PWM技术实现LED呼吸灯效果。硬件平台采用STM32F103C8T6最小系统板,软件环境为STM32CubeMX和Keil MDK。文章详细讲解了时钟树配置、定时器参数计算、中断优先级设置等关键步骤,并提供了完整的代码实现。对比了定时器中断与查询方式实现多任务的优缺点,最后介绍了PWM的基本原理及其在模拟量控制中的应用。
2025-10-20 04:06:17
707
原创 Linux 下 GCC 静态库与动态库的生成使用及 C 程序变量存储位置探究
本文围绕 Linux 环境下 GCC 编译工具链的核心应用,结合多个实践案例,系统探究了静态库(.a)与动态库(.so)的生成流程、使用特性及差异,并对比分析了 C 程序中不同类型变量在 Ubuntu(x86 架构)与 STM32(Cortex-M3 架构)中的存储位置特性。 在库文件相关内容中,通过单函数库和多函数库两个案例,详细验证了静态库与动态库的生成步骤:静态库需经gcc -c编译目标文件、ar -crv归档生成,链接时代码嵌入可执行文件,运行无依赖但体积较大;动态库需通过-fPIC。
2025-10-11 21:37:57
868
原创 STM32 中断控制LED流水灯(HAL库,Proteus仿真)
本文介绍了基于STM32F103的HAL库中断控制LED流水灯实验,通过STM32CubeMX配置GPIO输出和外部中断,实现LED流水灯及外部中断启停控制。实验采用软件消抖解决按键抖动问题,并利用Proteus进行仿真验证。实验步骤包括:1)使用STM32CubeMX配置GPIO和中断参数;2)在Keil中编写中断回调函数和主循环控制代码;3)硬件连接与功能测试。实验成功实现了LED流水灯效果,并通过外部中断可靠控制流水灯的启停,验证了STM32中断系统的应用。
2025-10-09 00:52:42
1146
原创 基于寄存器&标准外设库的LED流水灯
本文摘要: STM32F103C8T6 LED流水灯实验报告 本实验通过寄存器方式和标准外设库两种方法实现LED流水灯控制。实验使用STM32F103C8T6核心板,外接3个LED和板载LED(PC13)。关键步骤包括:1)通过RCC_APB2ENR寄存器使能GPIO时钟;2)配置GPIOA_CRL、GPIOB_CRH和GPIOC_CRH寄存器设置引脚为推挽输出模式;3)通过GPIOx_ODR寄存器控制LED亮灭;4)使用软件延时实现流水效果。实验还介绍了标准外设库的使用方法,并对比了两种实现方式的异同。
2025-09-26 22:04:12
1947
原创 Ubuntu系统使用gcc和Makefile编译C程序
本实验围绕C语言程序在Ubuntu与Windows系统的开发、编译与运行展开,完成了三个核心任务:一是在Ubuntu中实现“Hello World”单文件程序的创建、编译与运行;二是编写 main1.c (主程序)与 sub1.c (子程序)多文件代码,分别在Ubuntu(gcc命令行)和Windows(VS)中完成跨系统编译与验证;三是在Ubuntu中通过编写Makefile简化多文件程序的编译流程,并最终按规范撰写Markdown实验报告。
2025-09-21 19:09:43
1546
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅