From a98a3304d0234ffed54c726af5860ea8770a84d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=A1=E5=9D=82=E6=98=B4?= Date: Tue, 25 Mar 2025 12:21:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=EF=BC=9A=E5=AE=9E?= =?UTF-8?q?=E9=AA=8C=E4=B8=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homework2/src/test4.c | 24 +++++---- homework3/.clang-format | 38 ++++++++++++++ homework3/.eide/eide.json | 80 ++++++++++++++++++++++++++++++ homework3/.eide/files.options.yml | 20 ++++++++ homework3/.gitignore | 15 ++++++ homework3/.vscode/settings.json | 1 + homework3/.vscode/tasks.json | 40 +++++++++++++++ homework3/homework3.code-workspace | 44 ++++++++++++++++ 8 files changed, 251 insertions(+), 11 deletions(-) create mode 100644 homework3/.clang-format create mode 100644 homework3/.eide/eide.json create mode 100644 homework3/.eide/files.options.yml create mode 100644 homework3/.gitignore create mode 100644 homework3/.vscode/settings.json create mode 100644 homework3/.vscode/tasks.json create mode 100644 homework3/homework3.code-workspace diff --git a/homework2/src/test4.c b/homework2/src/test4.c index d4e25c7..aa3111f 100644 --- a/homework2/src/test4.c +++ b/homework2/src/test4.c @@ -4,17 +4,19 @@ #include "homework2.h" void main() { - ENLED = 0; - ADDR3 = 1; - ADDR2 = 1; - ADDR1 = 1; - ADDR0 = 0; + ENLED = 0; // 使能LED模块(低电平有效) + ADDR3 = 1; // 设置74HC138译码器地址位 + ADDR2 = 1; // 138译码器输入地址位2 + ADDR1 = 1; // 138译码器输入地址位1 + ADDR0 = 0; // 138译码器输入地址位0(组合地址0111选择LEDS6组) + while (1) { - D1 = 0; - D2 = 1; - Delay(100000); - D1 = 1; - D2 = 0; - Delay(100000); + D1 = 0; // 点亮D1 LED(低电平点亮) + D2 = 1; // 熄灭D2 LED + Delay(100000); // 保持当前状态约100ms + + D1 = 1; // 熄灭D1 LED + D2 = 0; // 点亮D2 LED + Delay(100000); // 保持当前状态约100ms } } \ No newline at end of file diff --git a/homework3/.clang-format b/homework3/.clang-format new file mode 100644 index 0000000..ecc57c4 --- /dev/null +++ b/homework3/.clang-format @@ -0,0 +1,38 @@ +--- +BasedOnStyle: Microsoft +Language: Cpp + +################################### +# indent conf +################################### + +UseTab: Never +IndentWidth: 4 +TabWidth: 4 +ColumnLimit: 0 +AccessModifierOffset: -4 +NamespaceIndentation: All +FixNamespaceComments: false +BreakBeforeBraces: Linux + +################################### +# other styles +################################### + +# +# for more conf, you can ref: https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# + +AllowShortIfStatementsOnASingleLine: true + +AllowShortLoopsOnASingleLine: true + +AllowShortBlocksOnASingleLine: true + +IndentCaseLabels: true + +SortIncludes: false + +AlignConsecutiveMacros: AcrossEmptyLines + +AlignConsecutiveAssignments: Consecutive diff --git a/homework3/.eide/eide.json b/homework3/.eide/eide.json new file mode 100644 index 0000000..777d686 --- /dev/null +++ b/homework3/.eide/eide.json @@ -0,0 +1,80 @@ +{ + "name": "homework3", + "type": "C51", + "dependenceList": [], + "srcDirs": [ + "src" + ], + "virtualFolder": { + "name": "", + "files": [], + "folders": [] + }, + "outDir": "build", + "deviceName": null, + "packDir": null, + "miscInfo": { + "uid": "80551480bccf7f03745c8c0c32115131" + }, + "targets": { + "Debug": { + "excludeList": [], + "toolchain": "Keil_C51", + "compileConfig": { + "options": "null" + }, + "uploader": "Custom", + "uploadConfig": { + "bin": "", + "commandLine": "", + "eraseChipCommand": "" + }, + "uploadConfigMap": {}, + "custom_dep": { + "name": "default", + "incList": [], + "libList": [], + "defineList": [] + }, + "builderOptions": { + "SDCC": { + "version": 3, + "beforeBuildTasks": [], + "afterBuildTasks": [], + "global": { + "device": "mcs51", + "optimize-type": "speed", + "use-non-free": false + }, + "c/cpp-compiler": { + "language-c": "c99" + }, + "asm-compiler": {}, + "linker": { + "$mainFileName": "main", + "output-format": "hex" + } + }, + "Keil_C51": { + "version": 2, + "beforeBuildTasks": [], + "afterBuildTasks": [], + "global": { + "ram-mode": "SMALL", + "rom-mode": "LARGE" + }, + "c/cpp-compiler": { + "optimization-type": "SPEED", + "optimization-level": "level-8" + }, + "asm-compiler": {}, + "linker": { + "remove-unused": true, + "output-format": "elf" + } + } + } + } + }, + "version": "3.5" +} \ No newline at end of file diff --git a/homework3/.eide/files.options.yml b/homework3/.eide/files.options.yml new file mode 100644 index 0000000..c258721 --- /dev/null +++ b/homework3/.eide/files.options.yml @@ -0,0 +1,20 @@ +########################################################################################## +# Append Compiler Options For Source Files +########################################################################################## + +# syntax: +# : +# For get pattern syntax, please refer to: https://www.npmjs.com/package/micromatch +# +# examples: +# 'main.cpp': --cpp11 -Og ... +# 'src/*.c': -gnu -O2 ... +# 'src/lib/**/*.cpp': --cpp11 -Os ... +# '!Application/*.c': -O0 +# '**/*.c': -O2 -gnu ... + +version: "2.0" +options: + Debug: + files: {} + virtualPathFiles: {} diff --git a/homework3/.gitignore b/homework3/.gitignore new file mode 100644 index 0000000..c2f4ce9 --- /dev/null +++ b/homework3/.gitignore @@ -0,0 +1,15 @@ +# dot files +/.vscode/launch.json +/.settings +/.eide/log +/.eide.usr.ctx.json + +# project out +/build +/bin +/obj +/out + +# eide template +*.ept +*.eide-template diff --git a/homework3/.vscode/settings.json b/homework3/.vscode/settings.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/homework3/.vscode/settings.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/homework3/.vscode/tasks.json b/homework3/.vscode/tasks.json new file mode 100644 index 0000000..3e192b9 --- /dev/null +++ b/homework3/.vscode/tasks.json @@ -0,0 +1,40 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "type": "shell", + "command": "${command:eide.project.build}", + "group": "build", + "problemMatcher": [] + }, + { + "label": "flash", + "type": "shell", + "command": "${command:eide.project.uploadToDevice}", + "group": "build", + "problemMatcher": [] + }, + { + "label": "build and flash", + "type": "shell", + "command": "${command:eide.project.buildAndFlash}", + "group": "build", + "problemMatcher": [] + }, + { + "label": "rebuild", + "type": "shell", + "command": "${command:eide.project.rebuild}", + "group": "build", + "problemMatcher": [] + }, + { + "label": "clean", + "type": "shell", + "command": "${command:eide.project.clean}", + "group": "build", + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/homework3/homework3.code-workspace b/homework3/homework3.code-workspace new file mode 100644 index 0000000..8c192af --- /dev/null +++ b/homework3/homework3.code-workspace @@ -0,0 +1,44 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "files.autoGuessEncoding": true, + "C_Cpp.default.configurationProvider": "cl.eide", + "C_Cpp.errorSquiggles": "disabled", + "files.associations": { + ".eideignore": "ignore", + "*.a51": "a51", + "*.h": "c", + "*.c": "c", + "*.hxx": "cpp", + "*.hpp": "cpp", + "*.c++": "cpp", + "*.cpp": "cpp", + "*.cxx": "cpp", + "*.cc": "cpp" + }, + "[yaml]": { + "editor.insertSpaces": true, + "editor.tabSize": 4, + "editor.autoIndent": "advanced" + } + }, + "extensions": { + "recommendations": [ + "cl.eide", + "keroc.hex-fmt", + "xiaoyongdong.srecord", + "hars.cppsnippets", + "zixuanwang.linkerscript", + "redhat.vscode-yaml", + "IBM.output-colorizer", + "cschlosser.doxdocgen", + "ms-vscode.vscode-serial-monitor", + "alefragnani.project-manager", + "cl.stm8-debug" + ] + } +} \ No newline at end of file