
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文介绍了基于STM32的I2C协议驱动AHT20温湿度传感器的完整实现过程。文章首先阐述了I2C协议的理论知识,包括其物理层特性、协议层特性、速度模式以及软件/硬件I2C的区别。接着详细说明了工程搭建步骤,包括RCC、SYS、USART1、IIC1和TIM1的配置。最后提供了代码实现部分,重点展示了如何通过GPIO模拟I2C协议初始化传感器接口,包括SDA和SCL线的配置方法。该方案采用软件I2

摘要:本文详细介绍了STM32定时器的理论知识与实践应用,包括STM32定时器分类(基本定时器、通用定时器、高级定时器)、计数器模式(上升/下降/上下计数)以及定时时钟计算方法。通过CubeMX配置实现了定时器2和定时器3的设置,结合HAL库完成了LED控制与串口通信功能。实验采用STM32F103C8T6芯片,配置了72MHz时钟、72分频系数和5000计数周期,实现5ms定时中断。文章还包含完

本文详细介绍了基于STM32的PWM呼吸灯实现方法。首先讲解了PWM(脉冲宽度调制)的基本原理、优点及应用场景,包括电机控制、LED调光等。接着通过STM32CubeMX配置定时器生成PWM信号,详细说明了工程创建步骤、时钟树设置和定时器参数配置。在代码实现部分,展示了如何设置占空比、开启PWM通道以及编写呼吸灯效果逻辑,使LED亮度从亮到暗再到亮循环变化。该方案具有高效、精确控制的特点,为PWM

本文介绍了基于STM32寄存器与固件库的LED流水灯实现方法。首先详细说明了在Keil中搭建工程环境的步骤,包括创建工程、添加启动文件和配置主函数。其次,重点讲解了GPIO端口配置原理,包括时钟使能寄存器(RCC_AP2ENR)、端口配置寄存器(CRL/CRH)和输出数据寄存器(ORD)的地址映射与配置方法。最后提供了完整的代码实现,通过控制GPIOA、GPIOB和GPIOC端口(A7、B9、C1

本文介绍了基于STM32和I2C协议的0.96寸OLED开发过程。首先讲解了I2C通信协议基本原理和OLED工作原理,详细说明了硬件接线方式(STM32F103C8T6与OLED屏通过I2C连接)。接着介绍了U8g2图形库的移植方法,包括源码精简和工程配置。最后实现了三种显示效果:基础图形绘制、中英文字符显示(含自定义字模)以及滑动动画效果。通过CubeMX配置I2C接口和定时器,开发者可以轻松在

本文介绍了在STM32F103C8T6上使用HAL库移植uC/OS-III实时操作系统的完整流程。uC/OS-III是一款轻量高效的嵌入式RTOS,具有多任务管理、强实时性、低中断延迟等特性。文章首先详细解析了uC/OS-III的核心架构和功能模块,包括任务调度、内存管理和同步通信机制。然后通过CubeMX配置RCC时钟、GPIO和USART1串口,详细演示了工程搭建、源码移植和文件配置过程,包括

本文介绍了在Ubuntu系统下使用gcc编译C程序的两种方法:直接编译和Makefile编译。首先详细说明了gcc的安装步骤,并通过"hello world"示例演示了从编写代码到生成可执行文件的完整过程。其次,通过多文件程序(main1.c和sub1.c)展示了gcc的分步编译方法,包括预处理、编译、汇编和链接四个阶段。最后介绍了Makefile的编写规则和使用方法,对比了L








