自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(414)
  • 资源 (8)
  • 收藏
  • 关注

原创 VS2015编译程序兼容XP

按照以下步骤跟着设置,就可以在xp完美运行如果VS2017生成的程序在xp系统提示缺少VCRUNTIME140D.dll,这是因为程序采用了动态编译,只要进行静态编译即可解决如下图所示,使用多线程MT就可以解决这个问题。但是问题又来了,VS2017以MT方式链接编译出来的exe还是没法在xp下正常运行,这是因为PE文件中的主系统版本号,不选子系统的情况下默认是6,也就是win7,我们...

2019-06-04 20:13:40 1116

转载 十大滤波算法程序大全Arduino

最近用Arduino做电子秤,为了解决数据的跳变研究了不少滤波算法。网上能找到大把的十大滤波算法帖子,每一篇都不太一样,都号称精编啊,除错啊什么的,可是放到板子里却没一个能正常跑起来的。于是决定自己整理一下这些程序,完美移植到Arduino中。所以大家看到这个帖子的时候,不要怀疑我重复发帖。我的代码都是经过反复试验,复制到Arduino中就能开跑的成品代码,移植到自己的程序中非常方便。而且都仔细研...

2019-04-24 21:01:55 736

转载 在keil中使用不初始化变量

单片机型号:STM32F030R8 我们进行程序设计的时候,都会知道,系统上电或复位时,会执行变量初始化操作,但是有些情况下,我们并不希望变量初始化,例如,在系统异常复位发生后,我们希望系统能够迅速恢复复位前的现场状况,这样就希望变量能够保留原先的值,而不被初始化。实际上,大家都知道,变量是存储在RAM中的,只要不掉电,变量的数值是不会改变的,只要我们不让系统进行初始化操作就可以了。...

2019-03-20 09:49:15 6284 1

转载 程序员的自我修养

作者:张柔,发布于博客园 与初码博客首先要谈的是,今天的话题所聊的程序员包含哪些人?在中国,写程序,不仅仅是一种兴趣,更多的时候,还是一种普通职业和谋生工具大公司有厉害的程序员,优秀的架构师,但大量的小公司也有很多普通的程序员。在我这些年的工作经历中,也越来越深刻的感受到普通程序员的影响和力量。对于高阶程序员,所谓八仙过海各有神通,各有各的成就,各有各的修养,但程序员在达成较...

2019-03-12 22:45:31 640

转载 FAT12文件系统基本格式

一、基本数据分布 |--------------------| 2879扇区 |               数据区(长度不固定)                    | |--------------------|------- |              根目录区(长度不固定,需计算)     | |                         ...

2019-02-22 11:52:37 4092

转载 FAT12文件系统

一、 FAT12FAT12是DOS时代就开始使用的文件系统(File System),直到现在仍然在软盘上使用,FAT12软盘的被格式化后为:有两个磁头,每个磁头80个柱面(磁道),每个柱面有18个扇区,每个扇区512个字节空间。所以标准软盘的总空间为:2 * 80 *18 * 512=1474560B=1440K=1.44M下面是FAT12的结构图:1、引导扇区操作系统之...

2019-02-22 11:51:50 1022

转载 Try LittleFS on STM32 and SPI flash

Try LittleFS on STM32 and SPI flashApr 12, 2018Over the past years, I have make use of FatFS to manage files on SPI flash. This is not a good solution, because of FatFS’s lack of wear leveling abi...

2019-01-26 08:54:53 3803 1

转载 LittleFS - 一个高度完整的嵌入式文件系统

LittleFS - 一个高度完整的嵌入式文件系统 拥有小巧灵活的文件系统对许多物联网设备至关重要。使用文件系统并将其与正确的存储技术(如外部闪存或SD卡)配对可能很困难。Mbed操作系统使文件系统的组合变得简单。Mbed OS 5.7既支持FAT文件系统,又引入了高度集成的嵌入式文件系统。这包括对没有自己的磨损平衡控制器的闪存芯片的磨损平衡支持。LittleFS  - 一个高度完整的...

2019-01-26 08:44:29 4412

转载 永磁同步电机(PMSM)的FOC闭环控制详解

在学习FOC控制前,我对于FOC控制完全不懂,只知道中文叫做磁场定向控制,因公司产品开发需要用到对永磁同步电机(PMSM)进行精确的位置控制,才开始从网上了解什么是FOC,有哪些数学公式,控制的过程是怎么样的,但由于公司没有人知道这一块的知识,所以只能一个人慢慢找资料学习,网上有不少关于FOC的资料,不过讲的都不全面,而且有的还会存在错误,但是不懂的时候也无法分辨对错,所以走了不少弯路。所以将个人...

2018-11-28 21:55:43 5079

转载 怎么确定步进电机的步距角

1、步进电机有个基本步距角的:两相的是1.8°、 三相的是1.2°、三相六拍驱动方式运行的步进电动机的步距角运算公式Q=360/MZK四相电机中,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A,转子齿为50齿电机为例,四拍运行时步距角为θ=360度/(50*4)=1.8度,八拍运行时步距角为θ=360度/(50*8)=0.9度...

2018-11-07 11:25:19 42553 6

转载 10个国外免费下载电子书网站

1、FreeBookSpotFreeBookSpot是一个在线免费电子书下载网站。网站拥有96个类别,大约71.97 GB的免费电子书籍。用户可以搜索和分类下载免费书籍,如科学,工程,编程,小说和其他许多书籍。FreeBookSpot无需注册,下载免费。 2、Free-eBooksFree-eBooks是一个在线下载免费电子书和电子书资源的网站。除了免费电子书,用户也可以下...

2018-07-26 09:01:56 68862 1

转载 电子技术网站

电子元器件查询IC/PDF查询器件手册电子技术文章资源下载类今日电子中国电子资源网:中国电子进修网电子设计技术网:21IC电子工程专辑:国际电子商情:北极星电子技术网大虾电子网ET电子技术网老古开发网我爱研发网变频技术应用网易电器中国IT技术门户无线电电子爱好者PCB信息网中国PCB技术网电子论坛电子论...

2018-07-26 09:00:07 542

转载 在Linux下开发GUI程序的方法

在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下的GUI应用。本文将依次介绍GTK+、Qt、wxWidgets和Swing/AWT,对其进行对比分析。1. GTK+平台支持虽然GTK+...

2018-07-18 16:10:24 32704 4

转载 软件测试中Mock和Stub

1.Stub与Mock(1)相同点Stub和Mock对象都是用来模拟外部依赖,使我们能控制。如果被测程序、系统或对象,我们称之为A。在测试A的过程中,A需要与程序、系统或对象B进行交互,那么Stub/Mock就是用来模拟B的行为来与A进行交互。(2)不同点        Stub,也即“桩”,很早就有这个说法了,主要出现在集成测试的过程中,从上往下的集成时,作为下方程序的替代。作用如其名,就是在需...

2018-07-02 14:42:34 1975

转载 __asm__ __volatile__内嵌汇编用法简述

__asm__ __volatile__内嵌汇编用法简述 时间:2016-12-09作者:华清远见 __asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平...

2018-06-28 17:06:23 6209

转载 理解 Memory barrier(内存屏障)

理解 Memory barrier(内存屏障)发布于 2014 年 04 月 21 日2014 年 05 月 15 日 作者 name5566参考文献列表:http://en.wikipedia.org/wiki/Memory_barrierhttp://en.wikipedia.org/wiki/Out-of-order_executionhttps://www.kernel.org/doc/D...

2018-06-28 16:25:09 741

转载 TCP/PI checksum 简析

TCP/PI checksum 简析Checksum原理Checksum广泛应用于TCP/IP协议族,用于校验IP、TCP、UDP数据,其原理比较简单,其计算校验和的步骤如下: 1)在数据发送端,首先将检验和字段本身清零,将被检验的相邻字节成对配成16bit的整数,将所有的配对相加,同时将进位加到校验和的低字节上,我们将得到的校验和定义为a,最后再将校验和取反记为-a,将-a放到校验和字段发送到网...

2018-03-29 14:48:44 515

转载 RO段、RW段和ZI段 --Image$$??$$Limit 含义

作者评注:内容很多,不过解释讲解详细http://www.cnblogs.com/heart-of-eagle/archive/2011/04/28/2032240.html转载: IMPORT |Image$$RO$$Limit| IMPORT |Image$$RW$$Base| IMPORT |Image$$ZI$$Base| IMPORT |...

2018-03-09 17:29:11 2354

转载 正弦信号、余弦信号与复指数信号(欧拉公式)

生活中不存在复数,但是《信号与系统》《数字信号处理》偏偏离不开复指数 e(jwt),这就涉及到复指数在推导和运算时的一些重要性质,以及其与正弦余弦信号的关系。1. 可用复指数信号表示正弦/余弦信号当指数信号的指数因子是复数时,称之为复指数信号。其表达式为 f(t)=Kest,s=σ+jw。根据欧拉公式,一个复指数信号可以分为实部和虚部两部分(eiθ=cosθ+isinθ)。实部包含余弦

2018-01-20 10:13:27 12203 1

转载 数据预处理-归一化与z-score标准化

归一化:归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。 在多种计算中都经常用到这种方法。线性函数转换:y=(x-MinValue)/(MaxValue-MinValue)说明:x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。对数函数转换:y=log10(x)说

2017-12-28 15:03:15 7132

转载 快速傅里叶变换FFT的C语言算法彻底研究

快速傅里叶变换FFT的C语言算法彻底研究LED音乐频谱显示的核心算法就是快速傅里叶变换,FFT的理解和编程还是比较难的,特地撰写此文分享一下研究成果。 一、彻底理解傅里叶变换快速傅里叶变换(Fast Fourier Transform)是离散傅里叶变换的一种快速算法,简称FFT,通过FFT可以将一个信号从时域变换到频域。模拟信号经过A/D转换变为数字信号的过程称为采样。为保证采样后

2017-12-26 17:31:40 10572 3

转载 单片机程序构架

似乎软件架构,只有纯上位机软件才有,其实,嵌入式软件也有架构可言,只有好的架构,才能结构清晰,方便开发和让系统稳定的工作。在有嵌入式操作系统的情况下,可以利用多任务和信号量,事件等设计嵌入式软件。但是在没有操作系统的裸机中,更需要有好的架构。例如利用事件和状态机模拟实现多任务,或者利用定时器和消息队列,信号量等模拟实现多任务,有了多任务就能灵活的设计软件架构。一种简单的信号量实现:vo

2017-12-05 11:20:12 11713

转载 浅谈单片机应用程序架构

转载:http://blog.163.com/zhaojun_xf/blog/static/300505802011102233952153/对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构是非常必要的。前不就发帖与大家一起讨论了一下《谈谈怎样架构你的单片机程序》,发现真正使用架构的并不都,而且这类书籍基本没有。

2017-12-05 11:14:13 968

转载 linux shell 字符串替换

%x=abcdabcd%echo ${x/a/b} # 只替换一个bbcdabcd%echo ${x//a/b} # 替换所有bbcdbbcd举例#test='liu.'#echo ${test//'.'/'\.'}liu\.引用 参考  http://www.cnblogs.com/chengmo/archive/2010/10/02/1841

2017-08-10 16:48:21 27843

转载 WAV文件格式分析

一. RIFF概念在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这种结构称为"资源互换文件格式"(Resources lnterchange File Format),简称RIFF。例如声音的WAV文件、视频的AV1文件等等均是由此结构衍生出来的。RIFF可以看做是一种树状结构,其基本构成单位为chunk,犹如树状结构中的节点,每个chunk由"辨别码"、"数据大小"及

2017-06-27 21:29:21 481

转载 交叉编译工具链

交叉编译工具链1、嵌入式开发模型-交叉开发    在嵌入式开发过程中有宿主机和目标机的角色之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。              在宿主机执行编译的流程如下:                  2、交叉编译工具链详解参考: http://www.crifan.com/files

2017-06-19 19:13:01 609

转载 一步一图一代码,一定要让你真正彻底明白红黑树

一步一图一代码,一定要让你真正彻底明白红黑树 作者:July   二零一一年一月九日-----------------------------本文参考:I、  The Art of Computer Programming Volume III、 Introduction to Algorithms, Second EditionIII、The Annota

2017-06-12 08:27:44 275

转载 ARM GCC 内嵌(inline)汇编手册

关于这篇文档这篇文章是本人为方便各位业界同仁而翻译,方便大家开发底层代码使用,转载请注明出处,谢谢。要是你E文功底好,本人还是建议阅读E文版的。http://www.ethernut.de/en/documents/arm-inline-asm.html 对于基于ARM的RISC处理器,GNU C编译器提供了在C代码中内嵌汇编的功能。这种非常酷的特性提供了C代码没有的功能,比如手动

2017-06-08 15:05:16 1086

转载 使用ITM机制实现调试stm32单片机

使用ITM机制实现调试stm32单片机,实现printf与scanf。1. ITM简介ITM机制是一种调试机制,是新一代调试方式,在这之前,有一种比较出名的调试方式,称为半主机(semihosting)方式。在pc上编写过C语言的人都知道,printf可以向控制台输出,scanf可以从控制台获取输入,这里的printf/scanf都是标准库函数,利用操作系统的这些函数,我们可以

2017-05-09 13:43:45 4259

转载 NMEA-0183协议

NMEA是National Marine Electronics Association(美国国家海事电子协会)的缩写。该协会是一家专门从事海洋电子设备方面研究的民间机构,它制定了关于GPS(全球定位系统)电子设备之间的通信接口和协议的NMEA标准。NMEA-0183协议是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

2017-04-17 16:29:59 1171

转载 Android蓝牙自动配对Demo,亲测好使!!!

蓝牙自动配对,即搜索到其它蓝牙设备之后直接进行配对,不需要弹出配对确认框或者密钥输入框。转载请注明出处http://blog.csdn.net/qq_25827845/article/details/52400782源码下载地址:https://github.com/chaohuangtianjie994/BlueTooth-AutoPair 经

2017-04-17 11:11:01 977

转载 Android 蓝牙自动匹配PIN码跳过用户交互

近期项目中需要连接蓝牙设备,起初只是设置蓝牙列表界面让用户点击然后输入默认PIN码,后来改需求了 = = ,要求自动连接指定设备并不需要用户手动输入PIN码,作为Android 小白的我是拒绝的,但是拒绝有什么用~首先说一下之后会用到的关于蓝牙方面的东西:断开蓝牙已配对的设备搜索附近蓝牙设备拦截用户交互页面,使用代码输入由于在最后连接的时候使用的是设备的SDK所以在这里就不介绍了

2017-04-17 11:07:53 12637 5

转载 android 取消蓝牙配对框 实现自动配对

我看了几个文章,主要是接受配对广播,然后设置pin,实现配对,但是网上的大部分手机是不可以的,Android.bluetoothdevice 下 action_pair_request ,没有定义这个,开始困扰了我一点时间,实现难度:是否能进入那个广播响应。  定义了一个类,这个是网上的可以直接用//=======================================

2017-04-17 09:55:23 1867

转载 计算2个GPS坐标的距离

http://blog.csdn.net/ztp800201/article/details/44676867 Java 计算两个GPS坐标点之间的距离1. Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;2. a=Lat1 – Lat2 为两点纬度之差  b=Lung1 -Lung2 为两点经度之差;3. 6378.137为地球半径,单位为千米

2017-04-15 10:00:44 28878

转载 VirtualBox中的Mac系统的使用心得

下面的内容,是关于在VirtualBox中使用mac的心得。多数和Mac本身相关的,少数是和VirtualBox下使用Mac相关的。1.第一次进入系统后的桌面背景叫 Andromeda Galaxy第一次进入Mac系统,桌面背景是那个星云的界面:这个背景桌面:Andromeda Galaxy,中文译为:仙女座星系;仙女座星云。对应的,可以在桌面右

2017-04-14 16:58:16 10732 1

转载 XML 命名空间(XML Namespaces)介绍以及节点读取方法

XML 命名空间提供避免元素命名冲突的方法。命名冲突在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。这个 XML 文档携带着某个表格中的信息: Apples Bananas 这个 XML 文档携带有关桌子的信息(一件家具): African Coffee Table 80

2017-04-13 16:11:05 13143

转载 在JavaScript的Array数组中调用一组Function方法

注* 这是一篇很有趣的文章,可以很好地帮助你了解JavaScript的Function是怎么工作的。我在看几个月前写的一些代码。在一个数组中(arrays)中存放了一组方法(function),在未来的某个时间要一次性将这些方法都执行一遍。这是一件非常简单的事,但有关代码的一些始终困扰着我。假设数组是这样的:var cal

2017-04-13 10:21:28 2482

转载 解决WebBrowser控件打开本地页面报安全提示的问题

今天用C#封装了WebBrowser控件去打开一个本地页面,页面中包含了JavaScript脚本,该脚本通过WebBrowser的ObjectForScripting属性,访问C#代码。代码非常简单,但没想到打开页面的时候,WebBrowser报安全提示:“为帮助保护你的安全,你的Web浏览器已经限制此文件显示可能访问你的计算机的活动内容。单击此处查看选项…”。尼玛,这是我自己写的本地页面好不好,

2017-04-13 08:39:47 10252

转载 脚本错误:对象不支持“getLabel”属性或方法

最近在使用百度地图API编写一个具有地图功能的MFC程序,在编写htm时遇到一个脚本错误,并进行了解决!代码要实现的功能step1:点击右边树状控件的某一项后,会根据该项的内容(即用户名)查找地图上是否标注了该用户;step2:若已标注该用户,则将地图的中心位置平移到该用户上;若未标注该用户,则弹出提示信息“暂无***的位置信息!”。问题错误代码如下

2017-04-12 14:40:05 1797 1

转载 推荐10本C#编程的最佳书籍

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!C#和.NET非常受全球开发人员的追捧和热爱。书籍是人类进步的阶梯。想要学习C# ?这里有10本学习C#编程的最好书籍在等着你哦。1.《C# 5.0 in a Nutshell》:权威的参考书学习C#的最佳书籍之一。如果你想要获取最新的信息以增长有关C#语言编程的知识,这是最好的选择之一。

2017-04-10 11:42:09 64201 4

1_BLDC电机控制算法.pdf

1.BLDC 永磁无刷电机电机控制算法 2.AC 电机控制算法 3.步进电机控制算法 4.通用 DC 电机控制算法

2021-09-08

猪哥的嵌入式Linux公房菜

一、学习指引 【PAGE:6-34】 1.嵌入式设计应具备的基本技能 2.嵌入式 Linux 学前指导 3.嵌入式 linux 入门学习规划 4.嵌入式 linux 入门学习内容指南 5.O'Reilly 原版 Linux 图书学习线路图 6.嵌入式系统知识体系、学习误区及建议 7.嵌入式系统 Linux 内核开发学习指导框图 8.嵌入式系统开发学习如何起步、如何深入? 9.Linux 系统初学者的常见问题解决集结大全 二、基本概念 【PAGE:34-79】 1.嵌入式 Linux 操作系统名词解释及资源大全 2.linux 下的各个目录的含义 3.GCC 编译器介绍 4.GCC 编译器发展历程 5.几种 Linux 嵌入式开发环境简介 6.三种嵌入式操作系统的分析与比较 7.交叉编译的基本概念 8.两本嵌入式 Linux 开发经典教程比较 9.Windows 与 Linux 系统下的库介绍 10.比较五种开源协议 11.BSS 段、数据段、代码段、堆与栈 12.moblin SDK 简介 13.Windows 和 Linux 动态库差异分析 14.主流浏览器内核概述 15.Linux 音频系统简析 16.linux 世界里的时间概念三、网络资源 【PAGE:80-94】 1.需静心细看的书 2.主要嵌入式 Linux 操作系统网站 3.嵌入式 Linux 的主流版本及开发商 4.嵌入式 Linux 网络资源列表 5.三个最实用的 linux 命令行方面的网站 四、基础知识 【PAGE:95-169】 1.Linux 下 C 语言编程基础知识 2.GCC 基础知识 3.常见的 Linux 系统调用 4.主流嵌入式 Linux 动态扩展技术比较分析 5.Linux 动态库剖析 6.Linux 下 patch 的制作和应用 7.初步探讨 ARM 调试技术 8.linux 下 shell 的工作原理 9.Linux 文件压缩剖析 10.嵌入式软件代码压缩技术剖析 11.ARM 的堆栈初始化详解 12.linux 库文件编写入门 13.make shell 函数简介五、工具配置 【PAGE:170-273】 1.Vi 编辑器的基本使用方法 2.ARM Linux 开机后自动运行特定程序的方法 3.ARM 下 GCC 交叉编译器的制作 4.Linux 2.6.19.x 内核编译配置选项简介 5.ARM 板上构造 gdb +gdbserver 调试环境 6.用 NFS 服务开发 ARM Linux 程序的方法介绍 7.与 sourceinsight 媲美的代码阅读工具 8.DIY 打造嵌入式 Linux 软硬件开发环境 9.GDB/ARMulator 介绍 10.gdb+gdbserver 的方式进行 ARM 程序调试 11.GNU 工具开发基于 ARM 嵌入式系统的方法 12.交叉平台开源编译系统:cmake 入门 13.autotools 生成 makefile 入门 14.SVN,HG,GIT 命令对照 15.利用 vmmare tools 来实现共享的具体操作 16.献给初学者的10个 Git 技巧 六、shell 命令 【PAGE:274-345】 1.嵌入式 Linux 开发常用的实用命令 2.7个极具杀伤性的 Linux 命令 3.U-Boot 提供的基本命令 4.nm 命令查看对象,可执行及库文件 5.shell 命令:wget 命令的使用技巧 6.用脚本实时显示 Linux 网络流量 7.Linux 必学的60个命令(1)-安装与登陆 8.Linux 必学的60个命令(2)-文件处理9.Linux 必学的60个命令(3)-系统管理 10.Linux 必学的60个命令(4)-网络操作 11.Linux 必学的60个命令(5)-网络安全 12.Linux 必学的60个命令(6)-其他 七、Linux 系统基础知识专题 【PAGE:346-459】 1. Linux 系统基础知识(一)硬盘 2. Linux 系统基础知识(二)安装 3. Linux 系统基础知识(三)基本使用命令 4. Linux 系统基础知识(四)X 的配置 5. Linux 系统基础知识(五)Linux 命令和技巧 6. Linux 系统基础知识(六)Linux 安装的几点经验 7. Linux 系统基础知识(七)linux 文件系统 8. Linux 系统基础知识(八)Linux 系统安装前的准备工作 9. Linux 系统基础知识(九)Linux 与其他操作系统的区别 10. Linux 系统基础知识(十)unix 系统发展史 11. Linux 系统基础知识(十一)操作系统简述 12. Linux 系统基础知识(十二)常见 linux 介绍 13. Linux 系统基础知识(十三)关于开放源代码的定义 14. Linux 系统基础知识(十四)什么是 Linux 15. Linux 系统基础知识(十五)GNU 通用公共许可证 16. Linux 系统基础知识(十六)GRUB 三步通 17. Linux 系统基础知识(十七)Linux init 详解 18. Linux 系统基础知识(十八)linux 常用命令索引 19. Linux 系统基础知识(十九)Linux 启动过程综述 20. Linux 系统基础知识(二十)LINUX 文件格式简介 21. Linux 系统基础知识(二十一)Linux 下软件安装方法 22. Linux 系统基础知识(二十二)Linux 与其他操作系统的区别 23. Linux 系统基础知识(二十三)linux 完全汉化汉化 24. Linux 系统基础知识(二十四)linux 完全安装手册25. Linux 系统基础知识(二十五)VI 的使用 26. Linux 系统基础知识(二十六)编程语言 27. Linux 系统基础知识(二十七)文件与目录操作 28. Linux 系统基础知识(二十八)Linux 备份与压缩命令

2017-10-14

高质量C++/C编程指南

高质量 C++/C 编程指南 作者-林锐 博士 C++/C编程进阶教材

2017-10-14

人月神话 (32周年中文纪念版)弗雷德里克·布鲁克斯著

人月神话 (32周年中文纪念版)弗雷德里克·布鲁克斯著

2017-10-14

产品设计与开发(第三版)

《产品设计与开发(第3版)(翻译版)》原版是由宾夕法尼亚大学沃顿商学院副教授Karl T.Ulrich与麻省理工学院斯隆管理学院教授Steven D.Eppinger合作编写,由湖南大学詹涵菁翻译为中文版。

2017-10-14

PID 调节控制做电机速度控制

将偏差的比例(Proportion)、积分(Integral)和微分(Differential)通过线性组合构成控制量, 用这一控制量对被控对象进行控制,这样的控制器称 PID 控制器。

2017-10-14

Google+C+++编程规范

Google+C+++编程规范 一、头文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. #define 的保护 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. 头文件依赖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. 内联函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. -inl.h 文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Function Parameter Ordering 5. 函数参数顺序(Function Ordering) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6. 包含文件的名称及次序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 二、作用域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Namespaces 1. 命名空间(Namespaces Namespaces) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Nested Class 2. 嵌套类(Nested Class) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Nonmember Static Member 3. 非成员函数(Nonmember Nonmember)、静态成员函数(Static Member)和全局函 Global Functions 数(Global Functions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Local Variables 4. 局部变量(Local Variables) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Global Variables 5. 全局变量(Global Variables) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 三、类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Constructor 1. 构造函数(Constructor Constructor)的职责 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Default Constructors 2. 默认构造函数(Default Constructors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Explicit Constructors 3. 明确的构造函数(Explicit Constructors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Copy Constructors 4. 拷贝构造函数(Copy Constructors) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Structs vs. Classes 5. 结构体和类(Structs Classes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Inheritance 6. 继承(Inheritance Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Multiple Inheritance 7. 多重继承(Multiple Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Interface 8. 接口(Interface Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Operator Overloading 9. 操作符重载(Operator Overloading) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Access Control 10. 存取控制(Access Control) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Declaration Order 11. 声明次序(Declaration Order) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Write Short Functions 12. 编写短小函数(Write Functions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Google 特有的风情 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 四、Google Smart Pointers 1. 智能指针(Smart Pointers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 五、其他 C++ C++特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Reference Arguments 1. 引用参数(Reference Arguments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Function Overloading 2. 函数重载(Function Overloading) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Default Arguments 3. 缺省参数(Default Arguments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Variable-Length Arrays and alloca() 4. 变长数组和 alloca alloca(Variable-Length alloca()) . . . . . . . . . . . . . . . . 20 Friends 5. 友元(Friends Friends) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Exceptions 6. 异常(Exceptions Exceptions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Run-Time Type Information, RTTI 7. 运行时类型识别(Run-Time RTTI) . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Casting 8. 类型转换(Casting Casting) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Streams 9. 流(Streams Streams) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Preincrement and Predecrement 10. 前置自增和自减(Preincrement Predecrement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Use of const 11. const 的使用(Use const) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Integer Types 12. 整型(Integer Types) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 64-bit Portability 13. 64 位下的可移植性(64-bit Portability) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Preprocessor Macros 14. 预处理宏(Preprocessor Macros) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 0 and NULL 15. 0 和 NULL NULL(0 NULL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 sizeof 16. sizeof sizeof(sizeof sizeof) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Boost 17. Boost 库(Boost Boost) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 六、命名约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 General Naming Rules 1. 通用命名规则(General Rules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 File Names 2. 文件命名(File Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Type Names 3. 类型命名(Type Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Variable Names 4. 变量命名(Variable Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Constant Names 5. 常量命名(Constant Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Function Names 6. 函数命名(Function Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Namespace Names 7. 命名空间(Namespace Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Enumerator Names 8. 枚举命名(Enumerator Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Macro Names 9. 宏命名(Macro Names) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Exceptions to Naming Rules 10. 命名规则例外(Exceptions Rules) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 七、注释 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Comment Style 1. 注释风格(Comment Style) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 File Comments 2. 文件注释(File Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Class Comments 3. 类注释(Class Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Function Comments 4. 函数注释(Function Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Variable Comments 5. 变量注释(Variable Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Implementation Comments 6. 实现注释(Implementation Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Punctuation, Spelling and Grammar 7. 标点、拼写和语法(Punctuation, Grammar) . . . . . . . . . . . . . . . . . . . 38 TODO Comments 8. TODO 注释(TODO Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 八、格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Line Length 1. 行长度(Line Length) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Non-ASCII Characters 2. 非 ASCII 字符(Non-ASCII Characters) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Spaces vs. Tabs 3. 空格还是制表位(Spaces Tabs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Function Declarations and Definitions 4. 函数声明与定义(Function Definitions) . . . . . . . . . . . . . . . . . . . 40 Function Calls 5. 函数调用(Function Calls) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Conditionals 6. 条件语句(Conditionals Conditionals) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Loops and Switch Statements 7. 循环和开关选择语句(Loops Statements) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Pointers and Reference Expressions 8. 指针和引用表达式(Pointers Expressions) . . . . . . . . . . . . . . . . . . . 45 Boolean Expressions 9. 布尔表达式(Boolean Expressions) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Return Values 10. 函数返回值(Return Values) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Variable and Array Initialization 11. 变量及数组初始化(Variable Initialization) . . . . . . . . . . . . . . . . . . . . . . . . 46 Preprocessor Directives 12. 预处理指令(Preprocessor Directives) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Class Format 13. 类格式(Class Format) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Initializer Lists 14. 初始化列表(Initializer Lists) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Namespace Formatting 15. 命名空间格式化(Namespace Formatting) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Horizontal Whitespace 16. 水平留白(Horizontal Whitespace) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Vertical Whitespace 17. 垂直留白(Vertical Whitespace) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 九、规则之例外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Existing Non-conformant Code 1. 现有不统一代码(Existing Code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Windows Code 2. Windows 代码(Windows Code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 十、团队合作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

2017-10-14

Software Engineering for Embedded Systems

Software Engineering for Embedded Systems Methods, Practical Techniques, and Applications,一本非常好的书

2017-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除