自娱自乐,我的博客(十二)——Butterfly主题更新至v3.7.0
自娱自乐,我的博客(十二)——Butterfly主题更新至v3.7.0前言:  一年多没升级主题了,作者添加了一些新特性,我目前的Butterfly版本是v3.0.0,而最新已经到v3.7.0了。一起来看看有什么新特性吧。
1 升级npm、Node.js、Hexo  Hexo依赖Nodejs和Git环境,因此建议升级Hexo之前先将这两个也升级到最新版本。由于我的Git已经是最新版本了所以不用升级。如果是Windos平台需要升级Git,在命令上中输入以下指令即可。
1git update-git-for-windows
  
1.1 升级Node.js和npm  在命令行中输入以下指令查看自己的Nodejs版本。
1node -v
  在命令行中输入以下指令查看自己的npm版本。
1npm -v
  我现在的Nodejs版本是v12.16.1,而 Nodejs 官网显 ...
c进阶篇(二)——编程命名规范
c进阶篇(二)——编程命名规范前言:  目前嵌入式常用的编程命名规范有驼峰命名法、匈牙利命名法、下划线命名法等。几种命名规范各有特色,但原则是开发人员之间保持统一的一套规范,如果是在现有的代码上开发,那么最好继续保持代码当前使用的编程规范,而不是盲目坚持自己的习惯。换句话说建议对几种常用命名规范都有所熟悉。有些公司是针对不同的“对象”使用不同的命名规范,比如变量名、方法名、类名等,结合多种命名规范各自的优势。写代码也有很多年了,有必要对编程命名规范进行一次整理总结。
1 常见命名规范  如何增强代码的可读性,除了良好的架构设计、合理的模块划分、适当的抽象化设计、简洁明了的规范注释等外,命名规范也在可读性上发挥了至关重要的作用。好的编程习惯在多人协作开发和代码维护时十分重要,编程人员按照统一的规范“表达”便于彼此理解交流。  好的编程命名规范应该具有以下特性。
见名知意:命名能表达出实际含义,如MaxLenth、MinLenth,好的命名不需要过多的注释说明;
长短适中:过短的 ...
自娱自乐,我的博客(十一)——Hexo静态网页部署到Vercel
自娱自乐,我的博客(十一)——Hexo静态网页部署到Vercel前言:  之前将博客部署在Coding是因为其免费且可绑定域名,但是最近Coding开始变相收费,COS和CDN采用用量计费模式,作为一个“称职”的白嫖玩家,现在又找到一个免费好用的静态网页部署网站Vercel,也可以绑定域名。下面开始白嫖教程。
1 注册登录  登录 Vercel 官网,点击“Sign up”登录。
自娱自乐,我的博客(十一)——Hexo静态网页部署到Vercel前言:  之前将博客部署在Coding是因为其免费且可绑定域名,但是最近Coding开始变相收费,COS和CDN采用用量计费模式,作为一个“称职”的白嫖玩家,现在又找到一个免费好用的静态网页部署网站Vercel,也可以绑定域名。下面开始白嫖教程。
1 注册登录  登录 Vercel 官网,点击“Sign up”登录。
  建议使用GitHub账号登录,这样可以方便关联 ...
Git基础篇(十五)——Git远程仓库分支管理
Git基础篇(十五)——Git远程仓库分支管理前言:  前面我们讲过了在本地仓库对分支的管理和开发,那么这些分支如何提交到远程仓库吗?提交后其他开发者能获取并继续开发这些分支吗?如果使用github作为远程仓库,如何管理这些分支。
1 将指定分支推送到远程仓库  现在github一般将主分支命名为”main”,我们在本地创建一个新的分支“dev”。
1git branch dev
  切换到该分支。
1git switch dev
  查看仓库当前的分支,可以发现已经新建了“dev”分支,并且处于该分支下。
1git branch
  为了演示我们在dev分支下进行一下修改,然后 add 这些变化。
1git add --all
  在dev分支下 commit 一个版本。
1git commit -m "dev分支下提交"
&emsp ...
Git基础篇(十六)——将本地已有仓库提交到Github新仓库
Git基础篇(十六)——将本地已有仓库提交到Github新仓库前言:  又是我们在其他平台管理的Git项目希望移交到Github管理,也可能在本地或公司内网开发的Git项目希望提交到Github上远程管理,总之是现有项目提交到Github新仓库管理,那么请看这篇文章。
1 在Github创建一个新仓库  首先在登录Github账号,在Github上创建一个新的 Repositories 。根据需要选择为 Public 或 Private 。要注意的是不要勾选 Add a README file 、 Add .gitignore 、 Choose a license ,既然是提交已有的仓库,这些应该取决于现有的仓库。
Git基础篇(十六)——将本地已有仓库提交到Github新仓库前言:  又是我们在其他平台管理的Git项目希望移交到Github管理,也可能在本地或公司内网开发的Git项目希望提交到Github上远程管理,总之是现有项目提交到Github新仓库管理,那么请看这篇文章。 ...
Git基础篇(十四)——Git修正提交
Git基础篇(十四)——Git修正提交前言:  有时候git的提交存在缺陷,想要重新提交,想在最新的提交上修正这个缺陷然后重新提交,不需要为其在分支路线上生成一个节点,这时候可以使用amend指令。
1 修改最新提交的运用场景  有时候我们最新的commit发现存在某些问题,需要修改后重新提交,这时候有两种解决思路,通过 git reset HEAD^ 退回到上一个版本然后重新提交,或者通过 git commit --amend 修改最新的提交。建议使用第二种方式在修改最新的提交,这样可以保持分支上的节点尽可能的“干净”。  以下几种情况会使得我们想要去修改最新提交。
需要修改commit message;
需要删除或新增文件;
需要修改文件内容;
2 amend使用演示  只要满足以上三种的任一一种情况就可以修改最新提交,下面演示同时对这三种情况进行最新提交的修改。  我们在github上创建一个仓 ...
c进阶篇(一)——移位操作详解
c进阶篇(一)——移位操作详解前言:  嵌入式编程中,很多时候都要进行比特级的操作,移位运算可以简化一些乘除操作。这篇文章带你真正了解移位操作。
1 数据的存储  对数据进行移位操作,首先要了解数据在计算机中是如何存储的。计算机关于数据涉及到原码、反码、补码三种。
1.1 原码  原码是对数字的二进制表示方法。有符号数的原码最高位是符号位,其余为数值域;无符号数则只有数值域,没有符号位。符号位用0表示非负数(0和正数),1表示复数。  由于无符号数没有符号位,因此数据域比有符号数多一位,不能表示负数但能表示更多的非负数。  表示的数值范围是偶数(2^N),比如int8_t能表示256个数,int16_t能表示65536个数等。由于实际运用中不需要-0,便人为规定将-0当做值最小的负数处理,因此int8_t表示的数值范围为-128127,int16_t表示的数值范围为-3276832767。
int8_t ...
单片机ADC采样
单片机ADC采样前言:  ADC是单片机中将模拟量转换为数字量的器件,我们称之为魔术转换器,简称ADC。模拟量是指变量在一定时间范围连续变化的量,数字量在时间上是不连续的,离散的。
1 ADC采样原理  将模拟量转换为数字量的过程一般可分为:采样、保持、量化、编码四个步骤。在实际的转换过程中,这些过程有时是合并进行,比如取样和保持,量化和编码可同时进行。
单片机ADC采样前言:  ADC是单片机中将模拟量转换为数字量的器件,我们称之为魔术转换器,简称ADC。模拟量是指变量在一定时间范围连续变化的量,数字量在时间上是不连续的,离散的。
1 ADC采样原理  将模拟量转换为数字量的过程一般可分为:采样、保持、量化、编码四个步骤。在实际的转换过程中,这些过程有时是合并进行,比如取样和保持,量化和编码可同时进行。
1.1 采样  将时间连续变化的模拟量转换为时间离散的模拟量。通过控制采样电路开关,使得连续的模拟采样 ...
Git基础篇(十三)——Git版本更新
Git基础篇(十三)——Git版本更新前言:  Git已经经历了多个版本迭代,目前最新的版本是v2.30.1。新的版本会添加新的命令和功能,需要升级到新的版本才能使用这些命令,建议更新使用最新的版本。
1 查看Git版本  可以通过指令来查看Git的当前版本。
1git --version
  指令也可简写为以下形式。
1git version
Git基础篇(十三)——Git版本更新前言:  Git已经经历了多个版本迭代,目前最新的版本是v2.30.1。新的版本会添加新的命令和功能,需要升级到新的版本才能使用这些命令,建议更新使用最新的版本。
1 查看Git版本  可以通过指令来查看Git的当前版本。
1git --version
  指令也可简写为以下形式。
1git version
2 更新Git版本2.1 v2.17.1之前的版本更新 & ...
Git基础篇(十二)——Git解决冲突
Git基础篇(十二)——Git解决冲突前言:  Git是多分支开发的,当然也是多人协作开发的,因此在实际的开发修改中时常会出现冲突,冲突不可怕,重要的是找到冲突的原因和解决冲突。
1 冲突的原因  冲突的产生可以分为两种。
分支合并冲突;
合并的分支对相同文件进行了不同的修改;
分支推送冲突;
2 关于分支合并冲突  要了解为什么分支合并会产生冲突,我们最好从实际运用场景中看哪些情况会冲突,哪些情况合并分支不会冲突。
2.1 不冲突情况2.1.1 合并的分支新增了其他分支没有的文件  如果A分支中新增了文件a.c,而B分支中增加了b.c文件,此时将A分支与B分支合并,不会产生冲突。
Git基础篇(十二)——Git解决冲突前言:  Git是多分支开发的,当然也是多人协作开发的,因此在实际的开发修改中时常会出现冲突,冲突不可怕,重要的是找到冲突的原因和解决冲突。
1 冲突的原因 &a ...