# STM32Code **Repository Path**: ChanYeeSum/stm32-code ## Basic Information - **Project Name**: STM32Code - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-16 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32 Key and Time 示例项目 ## 项目介绍 这是一个基于 STM32G4 系列微控制器的嵌入式项目,主要实现了按键扫描和 LED 显示功能。该项目适用于学习和开发基于 ARM Cortex-M 系列处理器的嵌入式系统。 ## 功能特性 - 按键扫描功能 - LED 显示控制 - 系统时钟配置 - 异常和中断处理 - 基于 CMSIS-DSP 的数字信号处理功能 ## 项目结构 ``` Keyandtime/ ├── Core/ │ ├── Inc/ - 头文件 │ └── Src/ - 源代码文件 ├── Drivers/ │ ├── CMSIS/ - ARM CMSIS 核心文件 │ └── DSP/ - CMSIS-DSP 数字信号处理库 └── .mxproject - STM32CubeMX 项目配置文件 ``` ## 主要模块说明 ### GPIO 控制 - `MX_GPIO_Init()` - 初始化所有 GPIO 引脚 - `leddisply(unsigned char led)` - 控制 LED 显示 - `Key_Scan()` - 扫描按键状态 ### 系统核心 - `SystemClock_Config()` - 系统时钟配置 - `Error_Handler()` - 错误处理函数 ### 中断处理 - 各种 Cortex-M4 异常处理函数(HardFault、MemManage、BusFault 等) - 系统滴答定时器处理函数 `SysTick_Handler()` ### CMSIS-DSP - 提供完整的数字信号处理功能 - 包括基本数学函数、复数数学函数、控制器函数、快速数学函数、滤波函数等 ## 使用说明 ### 硬件需求 - STM32G4 系列开发板 - LED 和按键外设 ### 软件配置 1. 使用 STM32CubeMX 打开 `.mxproject` 文件进行配置 2. 编译项目 3. 下载到目标板并运行 ### 主要功能使用 1. **LED 控制**:通过 `leddisply()` 函数控制 LED 显示状态 2. **按键检测**:使用 `Key_Scan()` 函数检测按键状态 3. **系统时钟**:`SystemClock_Config()` 配置系统时钟 4. **中断处理**:所有 Cortex-M4 内核的异常和中断都有默认处理函数 ## 开发与贡献 ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 开发环境 - STM32CubeMX 用于初始化配置 - 支持多种编译器(ARMCC, ARMCLANG, GCC) - 可使用 Gitee 平台进行协作开发 ## 特色功能 - 支持多种 Cortex-M 处理器架构 - 提供完整的 DSP 函数库 - 包含丰富的测试用例 - 支持多种操作系统环境 ## 相关资源 - [STM32G4 系列参考手册](https://www.st.com/resource/en/reference_manual/dm00359342.pdf) - [CMSIS 文档](https://arm-software.github.io/CMSIS_5/) - [STM32CubeG4 软件开发套件](https://www.st.com/en/embedded-software/stm32cubeg4.html) ## 许可证 本项目使用 MIT 许可证,请查看仓库中的 LICENSE 文件获取详细信息。