Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.{c,h}]
indent_style = tab
indent_size = 4

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
name: Bug 报告
about: 创建一个报告帮助我们改进
title: '[BUG] '
labels: bug
assignees: ''

---

## Bug 描述

简洁明了地描述这个 Bug。

## 重现步骤

重现此 Bug 的步骤:

1. 进入 '...'
2. 点击 '...'
3. 滚动到 '...'
4. 看到错误

## 预期行为

清晰简洁地描述你期望发生的情况。

## 实际行为

清晰简洁地描述实际发生的情况。

## 截图

如果适用,请添加截图以帮助解释你的问题。

## 环境信息

请完成以下信息:

### 硬件环境
- **STM32 型号**: [例如 STM32F103C8T6]
- **OLED 型号**: [例如 0.96寸 SSD1306]
- **调试器**: [例如 ST-Link V2]

### 软件环境
- **操作系统**: [例如 Windows 10]
- **Keil µVision 版本**: [例如 V5.36]
- **编译器版本**: [例如 ARM Compiler V5.06]
- **项目版本**: [例如 v1.0.0]

## 日志输出

如果有相关的日志或错误信息,请粘贴在这里。

```
粘贴日志内容
```

## 附加信息

在这里添加有关该问题的任何其他上下文信息。

## 可能的解决方案

如果你有关于如何修复此问题的想法,请在这里描述。
70 changes: 70 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
name: 功能请求
about: 为这个项目建议一个想法
title: '[FEATURE] '
labels: enhancement
assignees: ''

---

## 功能描述

清晰简洁地描述你想要的功能。

## 问题描述

**这个功能与某个问题相关吗?请描述。**

清晰简洁地描述问题是什么。例如:当我尝试 [...] 时总是感到沮丧

## 建议的解决方案

**描述你想要的解决方案**

清晰简洁地描述你希望发生什么。

## 替代方案

**描述你考虑过的替代方案**

清晰简洁地描述你考虑过的任何替代解决方案或功能。

## 使用场景

**描述这个功能在什么场景下会被使用**

例如:
- 当用户需要显示中文时
- 当需要绘制图形界面时
- 当需要保存配置到 EEPROM 时

## 实现建议

如果你对如何实现这个功能有想法,请在这里描述:

```c
// 可以包含示例代码
void ProposedFunction(void)
{
// 实现细节
}
```

## 优先级

这个功能对你有多重要?

- [ ] 必须有 (Must have)
- [ ] 应该有 (Should have)
- [ ] 可以有 (Could have)
- [ ] 希望有 (Would like to have)

## 附加信息

在这里添加有关功能请求的任何其他上下文或截图。

## 愿意贡献

- [ ] 我愿意为实现这个功能提交 Pull Request
- [ ] 我可以帮助测试这个功能
- [ ] 我只是提出建议
93 changes: 93 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Pull Request

## 描述

请简要描述此 PR 的更改内容和目的。

## 相关 Issue

关联的 Issue 编号(如果有):
- Closes #(issue 编号)
- Fixes #(issue 编号)
- Related to #(issue 编号)

## 更改类型

请勾选适用的类型:

- [ ] 🐛 Bug 修复 (非破坏性更改,修复了一个问题)
- [ ] ✨ 新功能 (非破坏性更改,添加了新功能)
- [ ] 💥 破坏性更改 (会导致现有功能不能正常工作的修复或功能)
- [ ] 📝 文档更新 (文档的更改)
- [ ] 🎨 代码格式 (不影响代码含义的更改,如空格、格式化等)
- [ ] ♻️ 代码重构 (既不修复 Bug 也不添加功能的代码更改)
- [ ] ⚡ 性能优化 (提高性能的代码更改)
- [ ] ✅ 测试 (添加缺失的测试或修正现有的测试)
- [ ] 🔧 构建/配置 (影响构建系统或外部依赖的更改)

## 更改内容

请列出此 PR 的主要更改:

-
-
-

## 测试

### 测试环境

- **STM32 型号**:
- **OLED 型号**:
- **Keil 版本**:
- **测试时间**:

### 测试步骤

请描述你如何测试这些更改:

1.
2.
3.

### 测试结果

- [ ] 所有现有功能正常工作
- [ ] 新功能按预期工作
- [ ] 无编译警告
- [ ] 无内存泄漏
- [ ] 代码在目标硬件上测试通过

## 代码质量检查

- [ ] 我的代码遵循项目的代码规范
- [ ] 我已经对代码进行了自我审查
- [ ] 我已经对代码添加了必要的注释,特别是在难以理解的地方
- [ ] 我已经相应地更新了文档
- [ ] 我的更改没有生成新的警告
- [ ] 我已经添加了证明修复有效或功能正常的测试
- [ ] 新的和现有的单元测试都通过了我的更改(如果适用)
- [ ] 任何依赖的更改都已合并并发布到下游模块

## 截图(如果适用)

如果这个 PR 包含 UI 或显示相关的更改,请添加相关截图。

## 附加信息

请添加任何其他关于此 PR 的信息。

## Checklist

在提交 PR 之前,请确认:

- [ ] 我已阅读[贡献指南](../CONTRIBUTING.md)
- [ ] 我的提交信息遵循[约定式提交规范](https://www.conventionalcommits.org/zh-hans/)
- [ ] 我已经测试了我的更改
- [ ] 我已经更新了相关文档
- [ ] 这个 PR 只关注一个主要的功能或修复
- [ ] 我已经在 PR 描述中清楚地说明了更改内容

---

感谢你的贡献!🎉
File renamed without changes.
95 changes: 95 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/lang/zh-CN/spec/v2.0.0.html).

## [1.0.0] - 2026-02-02

### Added

- 初始版本发布
- OLED 显示屏驱动(SSD1306 控制器)
- 支持 128x64 分辨率显示
- I2C 通信接口实现
- 基础显示初始化功能
- 字符和字符串显示功能
- 单字符显示 (`OLED_ShowChar`)
- 字符串显示 (`OLED_ShowString`)
- 支持多种字体大小
- 数字显示功能
- 十进制数显示 (`OLED_ShowNum`)
- 十六进制数显示 (`OLED_ShowHexNum`)
- 二进制数显示 (`OLED_ShowBinNum`)
- 支持指定显示位数
- LED 控制功能
- LED 初始化
- LED 开关控制
- LED 状态切换
- 按键输入功能
- 按键初始化
- 按键扫描检测
- 按键值获取
- 内置字体库
- 支持 ASCII 字符集
- 可扩展字体支持
- 项目文档
- 基础 README 文档
- 项目结构说明
- 简单使用指南
- 开发环境配置
- Keil µVision 项目文件
- STM32 标准库集成
- 编译配置

### Technical Details

- **语言**: C (89.8%), Assembly (5.7%)
- **平台**: STM32F10x 系列微控制器
- **开发工具**: Keil µVision 5
- **通信协议**: I2C
- **显示控制器**: SSD1306

---

## [Unreleased]

### Planned

- [ ] 添加图形绘制功能(线条、矩形、圆形)
- [ ] 添加中文字体支持
- [ ] 实现动画显示功能
- [ ] 添加屏幕保护功能
- [ ] 优化 I2C 通信速度
- [ ] 添加 SPI 接口支持
- [ ] 提供更多字体选项
- [ ] 添加低功耗模式
- [ ] 完善错误处理机制
- [ ] 添加单元测试

---

## 版本说明

### 版本号规范

本项目遵循 [语义化版本规范 (SemVer)](https://semver.org/lang/zh-CN/):

- **主版本号**:进行不兼容的 API 更改
- **次版本号**:添加向后兼容的新功能
- **修订号**:进行向后兼容的问题修复

### 变更类型

- `Added` - 新增功能
- `Changed` - 现有功能的变更
- `Deprecated` - 即将移除的功能
- `Removed` - 已移除的功能
- `Fixed` - 问题修复
- `Security` - 安全性改进

---

[1.0.0]: https://github.com/RtimesC/OLED1/releases/tag/v1.0.0
[Unreleased]: https://github.com/RtimesC/OLED1/compare/v1.0.0...HEAD
Loading
Loading