- 博客(85)
- 资源 (4)
- 收藏
- 关注
原创 git clone 克隆命令——鸡蛋不放一个篮子
git clone 克隆命令——鸡蛋不放一个篮子语法描述--bare 选项——创建裸库--mirror 选项——镜像裸库语法git clone [选项...] <版本库> [<目录>]提示:方括号 [ ] 表示可选,...表示可以有多项。描述将一个存储库克隆到一个新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支,创建并检出一个从克隆存储库的当前活动分支分离出来的初始分支。--bare 选项——创建裸库创建一个裸Git版本库。也就是说,不是创建 <目
2022-02-23 00:18:06 653
原创 git revert 还原命令——反向更改(抵消更改)
git revert 恢复命令——撤销更改语法描述git rebase <since> [<till>]git rebase --onto <newbase> <since> <till>冲突解决--onto <newbase> 选项——指定新提交起点--continue 选项——继续变基--abort 选项——终止变基--skip 选项——跳过冲突的提交--quit 选项——终止变基语法git revert [<选项&
2022-01-18 00:05:36 1894
原创 git cherry-pick 拣选命令——重放提交
git cherry-pick 拣选命令——应用现有提交语法描述git rebase <since> [<till>]git rebase --onto <newbase> <since> <till>冲突解决--onto <newbase> 选项——指定新提交起点--continue 选项——继续变基--abort 选项——终止变基--skip 选项——跳过冲突提交语法git rebase [<选项> …] [
2022-01-12 23:59:18 2448
原创 git rebase 变基命令——移花接木
git rebase 变基命令——移花接木语法描述git rebase <since> [<till>]git rebase --onto <newbase> <since> <till>冲突解决--onto <newbase> 选项——指定新提交起点--continue 选项——继续变基--abort 选项——终止变基--skip 选项——跳过冲突提交语法git rebase [<选项> …] [--onto
2022-01-10 00:45:17 3095 1
原创 git log 日志命令——显示提交日志
git log 日志命令——显示提交日志语法描述版本表示git archive -o 文件名.zip <commit>--format=<格式> 选项——指定压缩格式-l --list 选项——列出可用格式--prefix=<前缀>/ 选项——添加目录前缀-o <文件> --output=<文件> 选项——指定输出文件名--add-file=<文件> 选项——添加未跟踪文件[--] <路径> ——限制路径语法git l
2021-12-29 01:18:07 2423 1
原创 git archive 归档命令——文件归档
git archive 归档命令——文件归档语法描述git archive -o 文件名.zip <commit>--format=<格式> 选项——指定压缩格式-l --list 选项——列出可用格式--prefix=<前缀>/ 选项——添加目录前缀-o <文件> --output=<文件> 选项——指定输出文件名--add-file=<文件> 选项——添加未跟踪文件[--] <路径> ——限制路径语法git arc
2021-12-28 00:12:35 2768
原创 .gitignore —— 文件忽略
.gitignore —— 文件忽略描述模式格式描述一个 .gitignore 文件指定 Git 应该忽略哪些未跟踪文件的。已经被 Git 跟踪的文件不受影响。模式格式空行不匹配任何文件,因此它可以用作可读性的分隔符。以 # 开头的行用作注释。末尾的空格将被忽略,除非它们用反斜杠 ("\")引用。一个可选的前缀 !,它否定了模式;任何被先前模式排除的匹配文件将再次包含在内。如果排除了该文件的父目录,则无法重新包含该文件。对于以“!”字面值开头的模式,在第一个“!”前面加一个
2021-12-27 00:52:10 704
原创 git tag 标签命令——拍个照(打标签)
git tag 标签命令——拍个照(打标签)语法描述git tag-a --annotate 选项——不签名但带注释-f --force 选项——强制执行-d --delete 选项——删除标签-l --list 选项——删除标签-m <标签描述> 选项——添加标签描述<commit> ——要打标签的提交语法git tag [<选项> …] <标签名> [<commit>]提示:方括号 [ ] 表示可选,...表示可以有多项。描述
2021-12-25 01:33:17 524
原创 git stash 保存命令——保存工作进度
git stash 保存命令——保存工作区和暂存区进度语法描述git stash命令push [-m <描述>] [--] [<路径>]save [<描述>]list [<log选项>]show [-u|--include-untracked|--only-untracked] [<diff选项>] [<stash>]--dry-run 选项——测试性 commit-m <提交信息> 选项——指定提交信息--allow-em
2021-12-24 18:42:38 2037
原创 git commit 提交命令——记录版本库的更改
git commit 提交命令——记录版本库的更改语法描述git commit -m <提交信息>--dry-run 选项——测试性 commit-m <提交信息> 选项——指定提交信息--allow-empty 选项——允许空提交--amend 选项——修改提交-- —— 分隔文件列表语法git commit [<选项> …] [--] <路径名> …提示:方括号 [ ] 表示可选,...表示可以有多项。描述创建一个新的提交,包含暂存区的当
2021-12-22 00:44:04 1270
原创 git rm 删除命令——从工作区和暂存区中删除文件
git rm 删除命令——从工作区和暂存区中删除文件语法描述git rm [--] <路径>...-n --dry-run 选项——测试性 rm-f --force 选项——允许删除已变更的文件-r 选项——递归删除子目录--cached 选项——仅删除暂存区中的文件-- —— 分隔文件列表语法git rm [<选项> …] [--] <路径名> …提示:方括号 [ ] 表示可选,...表示可以有多项。描述从工作区和暂存区中删除匹配路径的文件。git r
2021-12-20 01:08:04 1601
原创 git diff 比较命令——查看文件改动
git diff 比较命令——查看文件改动语法描述git diff [<options>] [--] [<path>…]git diff [<options>] --cached [<commit>] [--] [<path>…]-s --short 选项——精简输出-b --branch 选项——显示分支和跟踪信息-v --verbose 选项——显示变更的文本内容-u[<mode>] 选项——显示未跟踪文件语法git di
2021-12-14 16:16:21 7178 1
原创 git add 暂存命令——为下一次提交做准备
git add 暂存命令——为下一次提交做准备语法描述git status-s --short 选项——精简输出-b --branch 选项——显示分支和跟踪信息-v --verbose 选项——显示变更的文本内容-u[<mode>] 选项——显示未跟踪文件语法git add [<选项> …] [--] [<路径名> …]提示:方括号 [ ] 表示可选,...表示可以有多项。描述此命令使用在工作树中找到的当前内容更新暂存区,以准备为下一次提交暂存的内容。
2021-12-09 00:10:21 623
原创 diff 和 patch 命令——差异比较和打补丁
diff 和 patch 命令——差异比较和打补丁差异比较diff [-p] [-u] <文件路径> <文件路径> ——比较文件差异diff [-r] [-u] <目录路径> <目录路径> ——比较目录差异diff [-u] <文件路径> <文件路径> > <输出路径>——输出差异文件打补丁patch <原始文件> < <差异文件>——差异文件注入(打补丁)patch -R <原始文
2021-12-05 22:12:33 1714
原创 C代码Doxygen注释模板 (含效果图)
C代码Doxygen注释模板文档说明函数说明文档说明/** * \file 文件名 * \author 作者 * \version 版本 * \date 日期 * \brief 这里是文件简介,一般还应列举该模块实现哪些功能。 * 简介以空行(前面可以有空格开头,然后跟有若干个星号,这些将被忽略)结束 * - 功能1(-开头为无序号列表项) * + 功能2(+开头为无序号列表项) *
2021-09-01 00:00:17 1657
原创 使用颜色突出显示网络——Altium Designer 18.0笔记
使用颜色突出显示网络——Altium Designer 18.0笔记在原理图编辑器中设置网络颜色在 PCB 编辑器中设置网络颜色在 PCB 中网络的两个颜色设置基本模式——图层和网络颜色的混合图案缩小行为——图层或网络颜色占主导在 PCB 中网络的两种表示方式在原理图编辑器中设置网络颜色 使用 view > Set Net Colors 命令,可以在原理图编辑器中将高亮颜色应用于网络或总线。请注意,网络颜色设置无法撤消,要删除颜色设置,请使用 “Clear Net Color” 命令或 “Cle
2021-08-30 00:37:26 9576 2
原创 从原理图更新指定元件的封装到PCB——Altium Designer 18.0笔记
从原理图更新指定元件封装到PCB——Altium Designer 18.0笔记步骤1:在原理图编辑器下执行 Update 命令步骤2:勾选所需的更改步骤3:执行更改步骤1:在原理图编辑器下执行 Update 命令 如果我们在原理图中修改了某些元件的PCB封装,希望将修改导入到PCB中,则需要在对应的原理图文件中执行 Design > Update 命令。步骤2:勾选所需的更改 在弹出的工程变更表 (Engineering Change Order) 中,可以右键 Disable All
2021-08-26 18:02:45 5434 1
原创 git status 状态命令——查看文件状态
git status 状态查看命令——查看文件状态语法描述git status-s --short 选项——精简输出-b --branch 选项——显示分支和追踪信息-v --verbose 选项——显示变更的文本内容-u[<mode>]语法git status [<选项> …] [--] [<路径名> …]提示:方括号 [ ] 表示可选,...表示可以有多项。描述显示暂存区文件和当前 HEAD 提交之间有差异的路径,工作区和暂存区文件之间有差异的路径,
2021-08-15 10:12:26 8674
原创 FreeRTOS 常见问题——栈应该有多大?
FreeRTOS 常见问题——栈应该有多大?可以使用 xTaskCreate() 或 xTaskCreateStatic() API 函数创建任务。该函数的 usStackDepth 参数指定将分配给正在创建的任务的栈大小(以栈宽度为单位,而不是字节!)。人们通常会问如何确定 usStackDepth 值,但是,除了下面描述的其中一种方向之外,在使用 RTOS 时确定需要多少栈与编写裸机应用程序(不使用操作系统的应用程序)时没有什么区别。与编写裸机应用程序完全一样,所需的堆栈量取决于以下应用程序特定参数
2021-08-09 23:35:27 8116 1
原创 FreeRTOS——配置文件
FreeRTOS——配置文件定制“配置参数”定制FreeRTOS 是使用名为 FreeRTOSConfig.h 的配置文件自定义的。每个 FreeRTOS 应用程序在其预处理器包含路径中都必须有一个 FreeRTOSConfig.h 头文件。FreeRTOSConfig.h 根据正在构建的应用程序定制 RTOS 内核。因此,它特定于应用程序,而不是 RTOS,并且应该位于应用程序目录中,而不是位于 RTOS 内核源代码目录之一中。RTOS 源代码下载中包含的每个演示应用程序都有自己的 FreeRTOS
2021-08-09 00:05:00 4820 3
原创 FreeRTOS——源代码组织
FreeRTOS——源代码组织基本目录结构FreeRTOS 内核目录结构每个 RTOS 端口都带有一个预配置的演示应用程序,该应用程序已经构建了必要的 RTOS 源文件,并包括了必要的 RTOS 头文件。强烈建议将提供的演示用作所有基于 FreeRTOS 的新应用程序的基础。提供此页面是为了帮助定位和理解所提供的项目。基本目录结构FreeRTOS下载包括每个处理器端口和每个演示应用程序的源代码。将所有端口放在一次下载中大大简化了分发,但文件的数量似乎令人生畏。然而,目录结构非常简单,FreeRTOS
2021-08-03 23:37:44 514
原创 FreeRTOS——栈溢出保护
FreeRTOS——堆栈溢出保护堆栈使用堆栈溢出检测 - 方法 1堆栈使用每个任务都维护自己的堆栈。如果使用xTaskCreate()创建任务,则用作任务堆栈的内存会从 FreeRTOS 堆自动分配 ,并通过传递给 xTaskCreate() API 函数的参数来确定大小。如果使用xTaskCreateStatic()创建任务,则用作任务堆栈的内存由应用程序设计者预先分配。堆栈溢出是应用程序不稳定的一个非常常见的原因。因此,FreeRTOS 提供了两种可选机制,可用于协助检测和纠正此类事件。使用的选项由
2021-07-28 22:34:27 3438
原创 FreeRTOS——堆内存管理
FreeRTOS——堆内存管理内存管理内存管理每次创建任务、队列、互斥量、软件计时器、信号量或事件组时,RTOS 内核都需要 RAM。RAM 可以在 RTOS API 对象创建函数中从 RTOS 堆自动动态分配,也可以由应用程序设计者提供。如果 RTOS 对象是动态创建的,那么有时可以使用标准 C 库 malloc() 和 free() 函数来实现此目的,但是…它们并不总是在嵌入式系统上可用,它们占用了宝贵的代码空间,它们不是线程安全的,并且它们不是确定性的(执行函数所花费的时间会因调用而异
2021-07-27 23:35:46 1375
原创 FreeRTOS——静态与动态内存分配
FreeRTOS——静态与动态内存分配概述使用动态分配的 RAM 创建 RTOS 对象使用静态分配的 RAM 创建 RTOS 对象概述V9.0.0 之前的 FreeRTOS 版本从特殊的 FreeRTOS 堆分配下面列出的 RTOS 对象使用的内存。FreeRTOS V9.0.0及以上版本提供了应用程序设计者自己提供内存的能力,允许可选地创建以下对象而不需要动态分配内存:任务软件计时器队列事件组二进制信号量计数信号量互斥量递归互斥量使用静态内存分配还是动态内存分配更好,这取决于应用
2021-07-27 21:16:50 4569
原创 FreeRTOS——事件组
FreeRTOS——事件组事件位(事件标志)事件组事件组和事件位数据类型事件组 RTOS API 函数RTOS 在实现事件组时必须克服的挑战 提示:在许多情况下,“任务通知”可以为事件组提供轻量级的替代方案 事件位(事件标志)事件位用于指示事件是否发生。事件位通常称为事件标志。例如,一个应用程序可能:定义一个位(或标志),当它设置为 1 时表示“一条消息已被接收并准备好进行处理”,当它设置为 0 时表示“没有消息等待处理”。定义一个位(或标志),当它设置为 1 时表示“应用程序已将准备
2021-07-27 19:30:53 967
原创 FreeRTOS——软件计时器
FreeRTOS——软件计时器软件计时器计时器服务(或守护进程)任务计时器守护进程配置一次性与自动重载软件计时器软件计时器概述软件计时器(或只是“计时器”)允许在将来的设定时间执行函数。计时器执行的函数称为计时器的回调函数。计时器启动和执行其回调函数之间的时间称为计时器的周期。简单来说,计时器的计时时间到了,就会执行计时器的回调函数。请注意,必须先明确创建软件计时器,然后才能使用它。软件计时器实现中的效率考虑软件定时器功能易于实现,但难以有效实现。FreeRTOS 实现不会在中断上下文执行计
2021-07-26 21:25:14 1787
原创 FreeRTOS——任务通知
FreeRTOS——任务通知 从 FreeRTOS V8.2.0 开始可用从 V10.4.0 开始支持每个任务的多个通知 每个RTOS任务都有一个任务通知数组。每个任务通知都有一个通知状态,可以是“挂起”或“未挂起”,以及一个32位的通知值。configTASK_NOTIFICATION_ARRAY_ENTRIES设置任务通知数组中的索引数。在FreeRTOS V10.4.0之前,任务只有一个任务通知,而不是一个通知数组。直接到任务通知是直接发送到任务的事件。而不是通过中间对象(如队列、事件组或信
2021-07-24 00:45:21 1780 1
原创 FreeRTOS——互斥量
FreeRTOS——互斥量互斥量互斥量互斥量是包含优先级继承机制的二进制信号量。二进制信号量是实现同步(任务之间或任务与中断之间)的更好选择,而互斥量是实现简单互斥的更好选择。当用于互斥时,互斥量就像一个用于保护资源的令牌。当任务希望访问资源时,它必须首先获得(“获取”)令牌。当它完成资源的使用后,它必须“释放”令牌——允许其他任务有机会访问相同的资源。互斥量与信号量使用相同的访问 API 函数,因此也允许指定阻塞时间。阻塞时间表示如果互斥量不是立即可用的,则在尝试“获取”互斥量时,任务应进入阻塞状
2021-07-21 23:27:30 1929
原创 FreeRTOS——信号量
FreeRTOS——二进制信号量前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy a
2021-07-21 20:40:10 888 1
原创 FreeRTOS——队列
FreeRTOS——队列队列用户模型队列阻塞队列队列是任务间通信的主要形式。它们可用于在任务之间、中断和任务之间发送消息。在大多数情况下,它们被用作线程安全的FIFO(先入先出)缓冲区,新数据被发送到队列的后部,尽管数据也可以发送到前端。向队列写入和从队列读取。在这个例子中,创建的队列包含5个条目,并且队列永远不会满。用户模型用户模型:最大的简单性,最大的灵活性。。。FreeRTOS队列使用模型设法将简单性与灵活性结合起来——这些属性通常是互斥的。消息发送是通过复制队列来实现的,这意味着数据
2021-07-21 20:38:31 909 1
原创 FreeRTOS——任务
FreeRTOS——任务任务特征任务状态任务优先级任务特征简单来说:使用RTOS的实时应用程序可以被构造成一组独立的任务。每个任务都在它自己的上下文中执行,与系统或RTOS调度程序本身中的其他任务没有暗合的依赖关系。在任一时间点应用程序中只有一个任务可以执行,实时RTOS调度器负责决定该执行哪个任务。因此,RTOS调度器可以在应用程序执行时反复启动和停止每个任务(切换每个任务的进出)。由于一个任务不知道RTOS调度器的活动,所以实时RTOS调度器有责任确保当一个任务被切换进来时的处理器上下文(寄存器值
2021-07-20 23:43:52 1085 2
原创 C99标准 6.2.5 类型
C99标准 6.2.5 类型存储在对象中或由函数返回的值的含义取决于用于访问它的表达式的类型。(声明为对象的标识符是这类表达式中最简单的;类型在标识符的声明中指定。)类型被划分为对象类型(完全描述对象的类型)、函数类型(描述函数的类型)和不完整类型(描述对象但缺少确定其大小所需信息的类型)。声明为_Bool类型的对象足够大,可以存储值0和1。声明为char类型的对象足够大,可以存储基本执行字符集的任何成员。如果基本执行字符集的成员存储在char对象中,则保证其值为正。如果任何其他字符存储在char对象
2021-07-20 00:12:42 395 1
原创 C99标准 6.2.4 对象的存储持续时间
C99标准 6.2.4 对象的存储持续时间对象具有确定其生存期的存储持续时间。有三种存储持续时间:静态、自动和分配。分配的存储由 7.20.3介绍。对象的生存期是保证为其保留存储的程序执行部分。一个对象存在,它有一个常量地址[1],并且在它的生存期内保持它最后保存的值[2]。如果对象在其生存期之外被引用,则该行为是未定义的。当指针所指向的对象到达其生存期的终点时,指针的值就变得不确定。[1] 术语“常量地址”意味着两个指针可能在不同时间构造的对象的指针比较时会相等。同一个程序在两次不同的执行过程中,地
2021-07-15 21:41:44 298
原创 C99标准 6.2.3 标识符的名称空间
C99标准 6.2.3 标识符的名称空间如果一个特定标识符的多个声明在翻译单元的任何位置可见,语法上下文将消除引用不同实体的用法的歧义。
2021-07-14 21:37:30 239
原创 Doxygen常用命令
Doxygen常用命令 所有命令都以反斜杠\或@符号开始,使用\还是@取决于你喜欢更哪一种风格。 有些命令有一个或多个参数。每个参数都有一定的范围:如果使用<>尖括号(尖括号不必键入),则表示参数为单个单词;如果使用()括号(圆括号不必键入),则表示参数扩展到找到命令所在行的末尾。如果使用{}花括号,则参数扩展到下一段。段落由空白行或段落指示符分隔。注意{}花括号也用于命令选项,这里的花括号是强制的,只是“普通”字符。开始的花括号必须直接跟在命令后面,所以不能有空格。...
2021-07-12 23:36:29 3043 1
原创 Doxygen配置输出HTML文档
Doxygen简单配置简介信息流图检查编程语言是否被支持设置配置文件Input设置INPUT 标签INPUT_ENCODING 标签FILE_PATTERNS 标签RECURSIVE 标签EXCLUDE 标签简介 Doxygen是一个文档系统工具,用于从已按照一定规则进行注释的源代码中提取信息,生成文档。信息流图 请先浏览一下Doxygen的信息流图,对各个工具和信息流之间的关系先有一个大概的了解。检查编程语言是否被支持 Doxygen默认支持:C, C++, C#, Objective
2021-07-08 18:20:36 1820
原创 我的C编程规范
嵌入式C编程规范不使用制表符(Tab键),每个级别缩进使用4个空格int main(void){ printf("你好,世界"); //使用4个空格缩进而不是制表符缩进}原因:不同编辑器对制表符缩进量有不同定义,因此,使用不同的编辑器打开源代码可能会因缩进量不合适而导致代码不美观,降低代码可读性。不过一般编辑器都可以自定义制表符(Tab键)为多空格。关键字与左括号之间使用一个空格,函数名和左括号之间不要使用空格void delay(uint32_t xms) //
2021-07-06 22:52:37 894
MD5摘要算法文档.txt
2021-01-23
蓝桥杯单片机官方资料包2019.rar
2019-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人