c进阶篇(二)——编程命名规范
c进阶篇(二)——编程命名规范前言: 目前嵌入式常用的编程命名规范有驼峰命名法、匈牙利命名法、下划线命名法等。几种命名规范各有特色,但原则是开发人员之间保持统一的一套规范,如果是在现有的代码上开发,那么最好继续保持代码当前使用的编程规范,而不是盲目坚持自己的习惯。换句话说建议对几种常用命名规范都有所熟悉。有些公司是针对不同的“对象”使用不同的命名规范,比如变量名、方法名、类名等,结合多种命名规范各自的优势。写代码也有很多年了,有必要对编程命名规范进行一次整理总结。 1...
自娱自乐,我的博客(十一)——Hexo静态网页部署到Vercel
自娱自乐,我的博客(十一)——Hexo静态网页部署到Vercel前言: 之前将博客部署在Coding是因为其免费且可绑定域名,但是最近Coding开始变相收费,COS和CDN采用用量计费模式,作为一个“称职”的白嫖玩家,现在又找到一个免费好用的静态网页部署网站Vercel,也可以绑定域名。下面开始白嫖教程。 1 注册登录 登录 Vercel 官网,点击“Sign up”登录。 建议使用GitHub账号登录,这样可以方便关联GitHub上的仓库。其实Vercel和GitHub的互动性非常好,可以实现全自动部署。将静态网站提交到GitHub,让Vercel关联上部署静态网站的仓库,一旦仓库有了新的提交,Vercel会检测到并且自动完成部署,部署完成后还会发邮件通知你。 网上一些文章提到Vercel不能绑定qq邮箱,我实测是可以的,可能Vercel已经做出改进了。 2...
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分支下提交" 讲dev分支下的版本提交推送到远程服务器。 1git push origin...
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 ,既然是提交已有的仓库,这些应该取决于现有的仓库。 此时在Github仓库创建的仓库还是空的仓库。创建后Github上会显示一个页面,提示你将自己的仓库提交到这个新仓库。 2 将本地仓库关联并提交到远程仓库 首先将本地仓库与Github远程仓库关联起来。关联的方式有两种, HTTPS 或 SSH...
Git基础篇(十四)——Git修正提交
Git基础篇(十四)——Git修正提交前言: 有时候git的提交存在缺陷,想要重新提交,想在最新的提交上修正这个缺陷然后重新提交,不需要为其在分支路线上生成一个节点,这时候可以使用amend指令。 1 修改最新提交的运用场景 有时候我们最新的commit发现存在某些问题,需要修改后重新提交,这时候有两种解决思路,通过 git reset HEAD^ 退回到上一个版本然后重新提交,或者通过 git commit --amend 修改最新的提交。建议使用第二种方式在修改最新的提交,这样可以保持分支上的节点尽可能的“干净”。 以下几种情况会使得我们想要去修改最新提交。 需要修改commit message; 需要删除或新增文件; 需要修改文件内容; 2...
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 原码 0 0000 0000b 5 0000...
单片机ADC采样
单片机ADC采样前言: ADC是单片机中将模拟量转换为数字量的器件,我们称之为魔术转换器,简称ADC。模拟量是指变量在一定时间范围连续变化的量,数字量在时间上是不连续的,离散的。 1 ADC采样原理 将模拟量转换为数字量的过程一般可分为:采样、保持、量化、编码四个步骤。在实际的转换过程中,这些过程有时是合并进行,比如取样和保持,量化和编码可同时进行。 1.1 采样 将时间连续变化的模拟量转换为时间离散的模拟量。通过控制采样电路开关,使得连续的模拟采样信号被周期性的导通一段时间。这个周期即为ADC的采样周期。 1.2 保持 由于被测模拟信号可能一直处于变化状态,因此为了保证采样的精准性,在量化编码期间应保持被测信号不变,这就是保持的作用。比如对电压的ADC转换,采样电路开关导通后,模拟信号输入进保持电路的电容,开始充电,之后采样断开后电容中的电量被保持,等待量化操作和下一个采样脉冲到来。 1.3...
Git基础篇(十三)——Git版本更新
Git基础篇(十三)——Git版本更新前言: Git已经经历了多个版本迭代,目前最新的版本是v2.30.1。新的版本会添加新的命令和功能,需要升级到新的版本才能使用这些命令,建议更新使用最新的版本。 1 查看Git版本 可以通过指令来查看Git的当前版本。 1git --version 指令也可简写为以下形式。 1git version 2 更新Git版本2.1 v2.17.1之前的版本更新 v2.17.1之前的老版本使用以下指令可升级到最新版本。 1git update 2.1 v2.17.1之后的版本更新 v2.17.1之后的较新版本使用以下指令升级到最新版本。 1git update-git-for-windows 安装时配置按照默认的就行了,点“下一步”。
Git基础篇(十二)——Git解决冲突
Git基础篇(十二)——Git解决冲突前言: Git是多分支开发的,当然也是多人协作开发的,因此在实际的开发修改中时常会出现冲突,冲突不可怕,重要的是找到冲突的原因和解决冲突。 1 冲突的原因 冲突的产生可以分为两种。 分支合并冲突; 合并的分支对相同文件进行了不同的修改; 分支推送冲突; 2 关于分支合并冲突 要了解为什么分支合并会产生冲突,我们最好从实际运用场景中看哪些情况会冲突,哪些情况合并分支不会冲突。 2.1 不冲突情况2.1.1 合并的分支新增了其他分支没有的文件 如果A分支中新增了文件a.c,而B分支中增加了b.c文件,此时将A分支与B分支合并,不会产生冲突。 2.1.2 合并的分支修改了不同的文件 如果A分支中修改了a.c文件内容,将b.c文件名改为bb.c,在B分支中修改了c.c文件内容,将d.c文件名改为dd.c,此时将A分支与B分支合并,不会产生冲突。 2.1.3...
Git进阶篇(一)——Git注释规范
Git进阶篇(一)——Git注释规范前言: 为每一次的Git提交都打上Log是一个好习惯,在协作开发时统一一种注释风格,为提交写上简洁明了的注释是重要的,本篇文章介绍一种Git注释规范。 1 GCM(git commit message)格式 使用Angular的GCM格式,将注释信息分为是三个部分,header、body、footer,它们各占一行。header必写但其scope是可选的,body和footer也是可选的。 12345<type>(<scope>): <subject><body><footer> 每行不超过100字符。 1.1 header header占一行,包括三个字段type(必须)、scope(可选)、subject(必选)。 1.1.1...










