# 科宇科技STC32G144K256开源库 **Repository Path**: beijing-keyu---jiangxi/KEYU_AI8052U_OpenLibrary ## Basic Information - **Project Name**: 科宇科技STC32G144K256开源库 - **Description**: KEYU_AI8052U_OpenLibrary是一个极易上手的开源库,提供便捷工具,助力开发者快速构建高效方案。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-30 - **Last Updated**: 2025-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: AI8052, 科宇科技AI8052U, STC32G144K246, STC32G ## README # STC32G144K246 开源组件库 (KEYU Open Source Library) ![Platform](https://img.shields.io/badge/Platform-STC32G144K246-blue) ![Language](https://img.shields.io/badge/Language-C-orange) ![License](https://img.shields.io/badge/License-GPL_v3.0-green) ## 📖 项目简介 本项目是由 **北京科宇通博科技有限公司** 开发与维护的一套基于 **STC32G144K246** 高性能单片机的嵌入式组件库。 我们致力于为智能车选手提供一套**代码规范统一**、**接口直观易用**、**注释详尽**的驱动框架。本项目采用了类似 HAL 库的封装风格,屏蔽了底层寄存器的繁琐操作,让您能够专注于业务逻辑开发,极大地提升了智能车竞赛的开发效率。 **核心特点:** * **风格统一**:全库采用标准化的命名规范,函数名即释义。 * **模块化设计**:分层架构(Core/Driver/Device/Common)。 * **功能丰富**:覆盖 GPIO, UART, DMA, SPI, PWM, I2C, ADC, EEPROM 等常用外设及 IMU, GPS, 屏幕等外围模块。 ## 🚀 快速上手 ### 1. 开发环境准备 * **IDE**: Keil µVision 5.36 或以上版本 (需安装 C251 编译器)。 * **芯片包**: 请在 STC-ISP 下载软件中添加 STC32G 系列头文件到 Keil。 * **硬件**: 科宇STC32G144K246 核心板和开发板。 ### 2. 导入项目 1. 克隆或下载本项目到本地。 2. 使用 Keil 打开项目工程文件(位于 `Template\Mdk` 目录下)。 3. 使用拓展Keil的C代码中断号工具扩展中断数 ### 3. 目录结构说明 ``` Keyu_AI8052U_OpenLibrary ├── Docs # 开发文档与参考资料 ├── Examples # 示例工程 │ └── Template # 基础工程模板 │ ├── App # 应用层 (Main.c, Isr.c) │ ├── Mdk # Keil µVision 工程文件 │ └── User_Code # 用户自定义代码 └── Keyu_Lib # 核心组件库 ├── Common # 通用层:数据结构, 数学库, 字库 ├── Core # 核心层:系统时钟 (SysClock), 寄存器定义 ├── Devices # 设备层:外部模块 (IPS屏幕, ICM45686, GPS...) └── Drivers # 驱动层:片上外设 (GPIO, UART, PWM, DMA...) ``` ### 4. 使用模板进行版本控制 为了方便管理不同版本的工程(如 `CarV1.0`, `CarV2.0`)且不破坏原始模板,建议按照以下流程操作: 1. **复制模板**: 在 `Examples` 目录下,选中 `Template` 文件夹并复制粘贴。 2. **重命名文件夹**: 将复制出来的文件夹重命名为您当前的项目版本号,例如 **`CarV1.0`**。 > **注意**:请务必将新文件夹保留在 `Examples` 目录下,否则工程中对 `Keyu_Lib` 的相对引用路径将会失效。 3. **开始开发**: 进入 `Examples/CarV1.0/Mdk` 目录,打开工程文件即可开始编写代码。 4. **版本迭代**: 当需要开发新版本时,只需复制 `CarV1.0` 文件夹并重命名为 `CarV2.0`,即可在保留旧版本代码的同时进行新功能开发。 ## 💻 简单示例 以下示例展示了如何使用本库快速点亮 LED 并通过串口发送数据。 ```c #include "Main.h" // 定义一个全局变量用于测试 int16_t counter = 0; void main() { // 系统时钟初始化 System_Clock_Init(FOSC_120MHZ); // 外设初始化 // 初始化 GPIO P3.5 为推挽输出,初始低电平 GPIO_Init(GPIO_P35, GPIO_MODE_OUT_PP, GPIO_LOW); // 初始化 UART1,波特率 115200,引脚映射到 P3.0/P3.1 UART_Init(UART_1, 115200, UART1_PIN_P30_P31); // 打印启动信息 printf("Thank you for choosing the KEYU Open Source Library!\r\n"); // 主循环 while(1) { // 翻转 P3.5 引脚电平 (LED闪烁) GPIO_Toggle_Level(GPIO_P35); // 打印计数器值 printf("Current Count: %d\r\n", counter++); // 延时 500ms Delay_Ms(500); } } ```