主动笔自适应屏信号周期
主动笔自适应屏信号周期前言: 不同的屏或不同的屏厂生产的屏,其屏信号周期会有一些偏差或不同。当屏与笔的周期不同步时,可能会导致通讯异常最终在书写体验上表现为断线甚至无法书写。本篇文章致力于讨论解决屏笔周期同步的问题。 1...
兼顾动静特性的ADC采样滤波
兼顾动静特性的ADC采样滤波前言: 嵌入式开发中ADC是十分常用的外设,常见运用比如电量检测、温度检测、压力检测等。ADC采样易收到较多干扰导致采样不准,比如ADC时钟不准、参考电压不准、被测电压存在漂移等,这时候可通过软件算法滤波,降低噪声干扰。 1...
Doxygen基础篇(二)——配置Doxygen
Doxygen基础篇(二)——配置Doxygen前言: 在Windows上可以方便的通过GUI配置Doxygen,按照配置生成代码帮助手册。 1 配置Wizard1.1 配置Project 打开 Doxygen GUI frontend ,选择 Wizard 标签页下 Project 选项进行该页面的配置,该选项下是关于项目的一些基础设置。 Specify the working directory from which doxygen will run: 为安装的Doxygen的工作目录,路径要选到安装目录下的bin目录; Project name: 该项目的名称; Project synopsis: 该项目的项目简介; Project version or id: 项目版本或id; Project logo: 选择项目的logo图标,文件为图片格式; Source code directory: 工程源代码的目录,需要被提取注释生成文档的代码应该在此目录下; Scan recursively:...
Doxygen基础篇(一)——安装Doxygen
Doxygen基础篇(一)——安装Doxygen前言: Doxygen可以像JavaDoc那样提取代码中的注释生成文档手册,它不仅是一种文档生成工具,更是一种注释的规范,要写出规范的代码掌握Doxygen是必要的。 1 Doxygen简介 Doxygen 是一种开源跨平台的代码文档生成工具。Doxygen可将按照其规定格式编辑的注释信息提取转换生成方便阅读的说明文档,文档格式有LATEX、RTF等,支持C, Objective-C, C#, PHP, Java, Python等语言。 2 安装Doxygen2.1 Windows下安装Doxygen Windows下载官网找到exe文件下载安装,它捆绑了32位和64位版本,根据操作系统自动选择合适的版本安装。里面包含了手册和GUI。 在点击 I accept the agreement 然后点击 Next...
解决vim-translator提示pySocks问题
解决vim-translator提示pySocks问题前言: vim-translator是比较好用的Vim翻译插件,使用浮动窗口显示翻译结果时,提示pySocks没有安装,本篇文章将带你解决这个问题。 1 问题描述 在安装了 vim-translator 后,在浮动窗口中显示翻译结果会得到下图的报错信息。 pySocks module should installed , 2 安装pySocks 如果使用的是python3,在Ubuntu下需要先执行以下指令安装 python3-pip 。 1sudo apt-get install python3-pip python3-pip安装完成后,通过 pip 安装pySocks。Ubuntu终端中运行以下指令进行安装。 1pip install pysocks 再次在浮动窗口中显示翻译结果,现在没有报错了。
Shields使用教程
Shields使用教程前言: Shields是制作徽章的工具,在各大代码托管平台上被广泛使用,掌握它将利于我们编写出更加漂亮规范的README说明。 1 Shields Shields 是目前主流的徽章制作工具,简介快速生成徽章,可以嵌入到网页或Markdown中。 2 生成徽章2.1 编辑链接生成徽章 1 语法格式如下: 1https://img.shields.io/badge/<LABEL>-<MESSAGE>-<COLOR> 通过Shields语法规则生成徽章非常简单,<LABEL>-<MESSAGE>-<COLOR> 由三部分构成,中间通过 - 分隔。 <LABEL> :...
规范的README
规范的README前言: Github上浏览开源项目时通常项目根目录都有一个字说明文件README.md,该文件可以帮助开发或使用者快速的熟悉和使用这个项目。为项目写出规范的README文件是有必要的。 1 README的作用 README是项目的自述文件,通常它 README.md 是项目的第一个入口文件,而不是急着看代码。阅读它能使得开发或使用者快速熟悉和使用该项目。 2 README应该有哪些内容 README应该告诉阅读者如何使用你的模块或工程,如果安装和使用它。标准的方式编写README将使得阅读理解它更轻松,维护更加方便。 在Github上有一个关于README的开源项目 RichardLitt/standard-readme ,可以访问它,本篇文章也是基于此规范进行讨论。 以下是一个好的README应该具有的内容。 3...
c进阶篇(六)——结构体位域
c进阶篇(六)——结构体位域前言: 结构体位域可以方便对Bit级数据的操作,可以更有效的利用Bit数据空间。 1 数据存储大小端 大小端表示数据在计算机中的存放顺序。 小端模式:低字节保存在内存低地址,高字节保存在内存高地址。 大端模式:低字节保存在内存高地址,高字节保存在内存低地址。 在使用结构体位域操作和联合嵌套结构体时尤其需要注意数据存储的大小端问题。如果使用的是单片机,可以查看用户手册了解所用型号的单片机。 2 定义位域结构体 在符号 : 之后给出数据类型所占的Bit数,对数据位域长度进行限制,以下为了方便均假设数据存储为小段模式,即结构体中先定义的成员变量存储在低地址和低Bit字段。 123456789101112131415161718192021#include <stdio.h>#include <stdint.h>typedef uint8_t Byte;typedef uint16_t Word;typedef uint32_t...
c进阶篇(五)——匿名结构体
c进阶篇(五)——匿名结构体前言: 对c/c++程序员来说,结构体是非常常用的自定义数据类型,它对数据进行封装,使用匿名结构体可进一步增强数据的封装性。 1 什么是匿名结构体 以下是正常定义一个带名称的结构体示范。 12345typedef struct Rect{ Byte byLen; Byte byWide;}STRect; 名为 STRect 的结构体拥有两个成员 byLen 和 byWide ,要对其访问可以通过一个成员运算符即可访问 stRect.byLen 或 stRect.byWide 。 如果成员多几个 类别 ,往往会进行二次封装,比如矩形有关于尺寸的成员变量,也有关于颜色的成员变量。 1234567891011121314151617181920212223242526272829#include <stdio.h>#include <stdint.h>typedef uint8_t...
CMake基础篇(一)——安装CMake
CMake基础篇(一)——安装CMake前言: 作为c/c++的深度使用者,有必要对编译器有一定了解,而CMake就是一种知名的跨平台编译工具。 1 CMake简介 CMake是一种跨平台的编译工具,它语法简单,可以输出各种各样的makefile或project文件。CMake用于产生标准的构建档,使得开发者可以在不同的平台用标准的方式构建软件,实现一次编写编译规则,多个平台相同编译。 官方有详细的 介绍文档 供学习。 2 安装CMake2.1 Windows下安装CMake Windows下可以直接选择 CMake 的二进制文件安装,在 CMake下载 界面中找到最新版的msi下载。 下载后双击msi文件开始安装,安装很简单,一路 next 就行了。 2.2 Ubuntu下安装CMake 在Ubuntu下安装就简单多了,直接执行指令即可完成安装。 1sudo apt-get install...










