自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

列表里的点滴岁月

吾亦无它,唯手熟尔

  • 博客(66)
  • 资源 (30)

原创 PID校正仿真分析

利用PID对系统进行校正并且仿真 一:已知控制系统的开环传递函数,设计合理的PID参数进行系统校正 二:原系统结构图及其单位阶跃响应 结果: 二:加入PID的系统结构图及其单位阶跃响应 校正以后系统的响应曲线:

2017-06-12 23:00:01 904

原创 MATLAB实现闭环传递函数与状态空间之间的相互转换

数学模型:闭环传递函数与状态空间之间的相互转换 Transformation of Mathematical Models with MATLAB 第一:由传递函数变换为状态空间表达式 假设系统的传递函数如下: 利用MATLAB自带的函数:tf2ss得到状态空间表达式,代码如下: 得到的状态空间表达式形式如下:

2017-05-22 20:15:25 19060

原创 用MATLAB求串联、并联和反馈闭环传递函数

用MATLAB求串联、并联和反馈闭环传递函数Obtaining Cascaded, Parallel, and Feedback (Closed-Loop) Transfer Functions with MATLAB . 涉及到的各个传递函数: 系统传递函数: 一:系统是串联系统,如图: 利用MATLAB命令求解系统闭环传递函数

2017-05-21 16:53:32 14593 1

原创 解决问题的一般性步骤

你会惊讶地发现,涉及到所求解的大部分问题都依赖于数学知识而不是对基本理论的理解。You may be surprised to learn that most of your problem-solving problems are with mathematics rather than your understanding of theory.接下来列出解决的一般性步骤: 1. 明确所要解

2017-05-21 07:59:32 1274

原创 如何理解算法的正确性

观点来自《算法导论》一书 一:循环不变式( Loop Invariants) 算法中经常用到循环还解决某些数量级很大的问题,借助数学的知识来判断算法的正确性。 We use loop invariants to help us understand why an algorithm is correct. 1. 初始化(Initialization)

2017-05-20 19:50:26 2845

原创 插入排序

算法内容是《算法导论》第三版 伪代码的 C 实现 1. 排序算法灵感 We start with insertion sort, which is an efficient algorithm for sorting a small number of elements. Insertion sort works the way many people sort a hand of p

2017-05-20 12:27:14 185

原创 使用埃拉托色尼筛选法(Eratosthenes)得到素数

什么是埃拉托色尼筛选法(Eratosthenes) ? 解答:要用这种方法确定素数,就要列出所有小于等于N(大于1)的整数,然后除去所有小于等于N的平方根的素数的所有倍数。 例如:要确定小于100 的 素数,从 2 开始作为第一个素数,然后写出从 3 — 100 的奇数(不必写出偶数),把 3 作为第一个素数,然后列出所有 3 的倍数去掉(清零),取下一个数字 5 作为第二个素

2017-05-11 16:19:40 1432

原创 英文版的windows 10,中文字体难看的解决方案

安装en_windows_10_multiple_editions_version,出现中文字体不美观 一: 下载 英文版的 windows 10 系统(最新的吧)。 二:安装系网上很多教程,建议用U盘安装 三:英文版的系统,需要设置一下才能正确显示简体中文。 1. 打开控制面板 2. 选

2017-05-08 21:39:58 29425 1

原创 U-boot移植之配置编译Makefile分析

这篇文章具体说说U-boot 2009.11 配置和编译的一些细节前面两篇文章主要是有一个感性的认识,用的官网提供的补丁,没有过多的提及U-boot内部的细节,用的是U-Boot 1.1.6。 从这篇文章开始才是真正意义上的移植U-boot,基于U-boot 2009.11。 参考书籍有:《深度实践嵌入式Linux系统移植》、《Linux系统移植》等等 我将按照以下几个步骤分析Makefil

2017-04-27 22:42:46 269

原创 U-Boot移植各阶段概览

基于u-boot-1.1.6 在SOC(S3C2440)上的移植各个阶段 本人移植的是基于ARM920T内核的 S3C2440 的 JZ2440 开发板 阶段 内容 完成情况 第一阶段 U-boot概述 U-boot移植之U-boot概述 完成 第二阶段 打补丁移植U-boot 通过打补丁移植 U-Boot 完成 第三阶段 Makefile分

2017-04-26 23:14:29 210 1

原创 U-boot移植之U-boot概述

以下 内容是基于U-boot中的README文档 一:什么是U-boot? U-boot全称是 Universal Boot Loader,即通用的Bootloader,是遵循GPL条款的开发源代码项目。 越来越多的人选择U-boot作为嵌入式系统的引导程序,它可以用来引导多种操作系统,支持多种CPU架构。 二:U-boot历史 ?

2017-04-26 11:47:19 1726

原创 递归&循环实现Fibonacci数列

递归实现Fibonacci数列 程序实现的: 1 1 2 3 5 8 13 21 34 55……… 这么一个数列的功能(数列索引index = [1,2……N]) 方法一: 利用函数递归实现Fibonacci数列 #include <stdio.h>#include <stdlib.h>#define N 10static int Print_Fibonacci( int inde

2017-04-25 18:11:13 478

原创 打补丁式的移植U-Boot

通过打补丁移植 U-Boot 通过打补丁来移植U-Boot是非常简单的,仅仅几步就可以,当然中间遇到了几个有价值的障碍。 步骤如下: 一: 下载U-Boot源码(u-boot-1.1.6.tar.bz2 ) 。 二: 根据官网提供的 关于JZ2440开发板的补丁文件(u-boot-1.1.6_jz2440.patch )对u-boot-1.1.6源码打补丁

2017-04-25 12:11:06 330

原创 数组快速排序

数组快速排序 代码如下:#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAX_ARRY 10#define SWAP(x,y) ({int t;t= x;x= y;y=t;})static void arry_print( int arry[] , int size_of_element );static

2017-04-24 13:49:35 339

原创 嵌入式系统的组成

嵌入式系统 = 硬件 + 软件 一:嵌入式系统硬件部分 1 . 处理器 内核架构 指令集 举例 相关系统 ARM RISC arm920t SMDK2440 MIPS RISC PowerPC RISC 80x86 CISC intel(R) Core i5-4210M

2017-04-23 23:12:34 372

原创 数组反转(整型数组)

数组反转 C 利用宏实现交换数字 #include <stdio.h>#include <stdlib.h>#define EXCHANGE(a,b) ({ (a) = (a) ^ (b);\ (b) = (a) ^ (b);\ (a) = (a) ^ (b); })

2017-04-23 20:19:04 604

原创 嵌入式系统的基本概念

有关嵌入式系统的基本概念 一:定义 1. 定义1 : 嵌入式系统用来控制或监视机器、装置、工厂等大规模系统的设备。 2. 定义2 : 嵌入式系统是指以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严苛要求的专用计算机系统。 二:发展史 1 . 集成电路:Integra

2017-04-23 17:56:14 828

原创 打印一个数的二进制形式

把一个数的二进制形式打印出来,以便验证 一:代码由来 ? 1. 有时需要看一个数的二进制来验证想法 2. 二进制形式不需要返回,作为返回值没有意义,只需要让我们直观看就可以了 二:基于以上,设计代码如下 (C语言实现 ) : #include <stdio.h>#include <stdlib.h>static void print_b

2017-04-23 14:44:11 1386

原创 Unix-like 文件系统层次标准 FHS

各个目录分区的含义 一:目录长什么样 ?   二:各个目录代表什么意思?    文档内容来自: Filesystem Hierarchy Standard    三:什么是FHS ? 文件系统层次化标准 官网解释: 百度百科的中文解释是: 四:FHS文件的目的

2017-04-23 10:45:18 652

原创 嵌入式应用软件开发学习框架

嵌入式应用软件——学习框架 (ARM+Linux) 阶段 内容 第一阶段 基础知识 第二阶段 掌握通用计算机系统启动过程(PC Linux) 第三阶段 尝试构建一个嵌入式Linux系统 第四阶段 常用开发工具的介绍 第五阶段 Linux C 编程语言 第六阶段 数据结构和常用算法 第七阶段 I/O库及 I/O编程 第八阶段

2017-04-22 16:31:48 677

原创 不借助中间变量交换两个数

不凭借其他,实现交换 一:利用自身资源,实现交换数据的两种方法 #include <stdio.h>void print(int a, int b );int main(void){ int a = 10; int b = 11; printf("source data:"); print(a,b); a = a ^ b; b = a ^ b;

2017-04-22 10:47:44 934

原创 两个数判断大小(不能用 if, switch, ?, 和其他判断语句)

求最值,考虑数学关系 代码如下( C ): #include <stdio.h>#include <math.h> #define MAX(a,b) ( ( (a)+(b) ) + abs( (a)-(b) ) ) /2#define MIN(a,b) ( ( (a)+(b) ) - abs( (a)-(b) ) ) / 2int main(void){ char

2017-04-21 20:50:36 1239

原创 i++ 你懂了么

i++ 请看入下代码( C ): #include<stdio.h>int main(void){ int a,x; for ( a = 0 , x = 0; a <= 1 && !x++ ; a++) a++; printf("a = %d, x = %d\n",a,x); for ( a = 0 , x = 0; a <= 1 && !x++ ;

2017-04-21 11:34:31 191

原创 Unix进程之进程概述

进程概述 一:什么是进程 ? 进程是计算机程序运行起来的动态过程。 发明计算机的目的就是为了处理各式各样的数据,人类通过编程工具(C/C++等)编写对处理数据的程序,完成了对现实世界中各类数据的抽象(数据类型),通过函数、类等方式把我们对数据处理的过程表达出来 。 程序像这样的 (C语言): 程序被转换成二进制指令序列 像这样(十六进

2017-04-19 17:41:00 265

原创 计算机编程中常用的术语

术语及其解释 术语 解释 问题解决 problem-solving 表述问题,找到解决方案并表述方案过程 高级语言 high-level language 便于人类读写而设计的编程语言 低级语言 low-level language 便于机器执行而设计的语言:机器语言、汇编语言 可移植性 portability 程序可以在不同计算机操作系统上运行的属性

2017-04-15 23:18:20 24398

原创 计算机编程概述

编程,表达我们的思考 ##“我,快、高效率、不知疲倦。有什么工作,你编程,我来做。”计算机说。 一:问题引出: 1. 计算机到底是怎么工作的? PC——> 电路板——> 集成电路——> 功能模块——> 电路单元——> 逻辑门电路——> 半导体场效应晶体管(MOSFET) 纵向解刨,发现计算机的真正面目是晶体管。晶体管的状态无非就导通和关断,

2017-04-14 21:13:51 656

原创 Unix哲学之软件的杠杆效应

使用杠杆效应,放大自己影响“在我生命中,我只见证过两个奇迹,核聚变和复利。”爱因斯坦说。 一:提出几个问题 1. 什么是杠杆效应 ? 将众多单一独立的功能模块统一起来成为一个强大整体的媒介,站在巨人的肩膀上,循环往复。 2. 在Unix中有哪些是关于杠杆效应的体现? shell脚本:由一个或多个语句组成,通过调用本地程

2017-04-14 20:15:01 550 1

原创 Unix设计哲学之可移植性

程序更应该注重可移植性 ## 一:问题引导 1. 什么是可移植性? 所谓可移植性,即代码编写一次,简单地做一些修改或者原封不动地就能运行在其他的体系架构机器上而继续发挥余热,充分利用前期工作结果的效用,为软件开发提供了很好的复用模块,提升开发效率。 2. 为什么移植性很重要? I. 信息革命走过的时间不过半个

2017-04-13 19:42:20 651

原创 软件设计的三个阶段及快速构建原型

软件设计的三个阶段及快速原型构建 一 : 明确几个问题 1 . 快速构建原型是什么意思? 快速 就是越快越好,火速进行。 我们可以花少量的时间去规划这个应用程序,然后便可以创建原型 ,原型实现的功能能完成最基本的功能,不考虑很多细节的东西,是一个系统的最精简的版本 。 2 . 软件设计的三个阶段指的是什么? 第一个系统 、

2017-04-11 21:08:42 1350

原创 分析C标准库中通用排序函数 qsort,并进行举例排序(数字篇)

利用库函数排序(数字) ## 问题引出: 一 : 为什么要用库函数排序 ? 1 . 自己写排序算法,效率底下。 2 . 利用库函数的函数,一个是安全性高,另一个是效率高,不必从头造轮子。 二 : 哪一个库函数能提供通用排序功能?在哪个头文件中? 1 . void qsort(void

2017-04-09 22:45:15 732

原创 分离出十六进制数的某低几位

通过按位与的形式分离数位 分离低2位的数据#include <stdio.h>#define GET_BITS(c,w_bit) (c)&(w_bit)static int bits[]={ 0x0,0x1,0x3,0x7,0x15,0x1f,0x3f,0x7f,0xff,0x1ff,0x3ff,0x7ff,0xfff};int main(void){ int n =0;

2017-04-09 20:22:09 1611

原创 如何将一个十六进制数的数字分离出来

把一个十六进制数中数字分离出来 思考一个问题: 如何把十六进制数分离出来? 通过移位的方式,比如 右移0xff,然后和0xff按位与 int main(void){ unsigned int byte = 0x1234; unsigned int high; unsigned int low ; high = (byte>>8)&0

2017-04-09 19:44:21 2442

原创 将十进制的各个位数分离出来

判断输入数字中是否有某一个数字的问题? 思考一个问题: 如何分离数据 ? 方法:利用 除法 / 以及取余 % 运算。 利用C语言:实现将十进制的各个位数分离出来#include <stdio.h>#include <math.h>int get_bit(int number); // 获得输入数据的位数 比如:1992 结果是 4 int ma

2017-04-09 19:25:15 2905 1

原创 C语言中常用的各种格式转换说明符

在printf( )常用的格式转换说明符 转换说明符 作用 %c 一个字符 %d 有符号 十进制数 %u 无符号 十进制数 %o 无符号 八进制数 %x 使用 十六进制 0f 的无符号十六进制数 %X 使用十六进制 0F 的无符号十六进制数 %p 指针 %s 字符串 %f float类型浮点数 十进制记数法 %lf

2017-04-09 18:09:13 4920

原创 确定一个数二进制形式中 1 的个数

如何得出一个数二进制形式的 1 的个数 思考两个问题: 1 . 二进制形式中 1 的个数,需要把十进制转换成二进制麽 ? 根本没必要,数据在计算机中就是以二进制形式存储的,只是我们看到的是十进制而已,我操作十进制实际上就是在操作相应存储空间的二进制位数据。 2. 如何确定二进制形式中 1 的个数 ? 方法 1 . 移位操作:对

2017-04-09 16:28:51 295

原创 无符号数 0 ( 0 -1 == -1 ?)

无符号数运算 应该注意什么? 一:什么是无符号数 ? 无符号数(unsigned number) 是相对于有符号数而言的,指的是整个机器字长的全部二进制位均表示数值位,相当于数的绝对值。 有符号数(signed number) 和无符号数基本相同,不同的是:一般用最高有效位(MSB)来表示数的符号,正数用0表示,负数用1表示。

2017-04-09 09:38:04 5002

原创 变量的位屏蔽

清楚变量的某位 位的清除在嵌入式领域至关重要,配置寄存器的某些位相当方便 C++语言实现 #include <iostream>#define BIT_MASK(bit_pos) ( 0x1 <<( bit_pos ) )int Bit_Clear(unsigned int *val,unsigned char pos);int main(void){ unsigned in

2017-04-09 08:23:23 325

原创 计算机程序中数据类型的内存映像

数据的内存映像 基本数据类型的内存映像: 在计算机,字节(byte)是内存编址的基本单位,每个字节包含8位(bit)。考察一个变量占用了多少内存空间,即看他占用了多少字节。在C/C++中,sizeof(type) 是一个操作符,用于确定类型数据占用的字节大小。 像一些基本的数据类型: char 、short 、 int 、 long 、float 、 double

2017-04-08 19:24:25 351

原创 程序处理、加工的对象——数据

程序处理、加工的对象——数据 程序设计是用于干什么用的呢? 无非就是对数据进行处理。 当我们从事科研和工程项目时,首先当然是结合领域知识对问题进行分析,而后进行数学建模,最后通过计算机进行处理。 在计算机的世界里,数据代表了对数字模型的抽象化的概念,同时也代表了信息。 结合我们的日常生活,可以想象我们周围充满了各种各样的数据——文字、数字、声音、图片、动画以及更加复杂的多媒

2017-04-08 19:13:51 1427

原创 技术学习的通用方法

技术学习,两个重要的方法论: 重复、以赛代练 1 . 重复: 技能掌握最本质途径就是不断重复。中国的老祖宗们早就将这一真谛记录位耳熟能详的成语——熟能生巧。庖丁解牛的故事都是千百年来关于技能掌握的最好诠 释:无他,唯手熟尔。 2 . 以赛代练 : “以赛代练”的本质就是通过实战来快速提高技能。练习的目的就是为了比赛,所以直接在比赛中进行锻

2017-04-08 18:55:33 199

The-Handy-Math-Answer

The-Handy-Math-Answer 数学是什么

2017-05-21

Introduction to Algorithms 3nd edition

Introduction to Algorithms 3nd edition 算法导论第三版英文版

2017-05-21

Fundamentals of Electric Circuits (5th)

Fundamentals of Electric Circuits (5th) 电路基础第五版(英文版)

2017-05-21

conceptual_physics

conceptual_physics 概念物理,国外经典教材

2017-05-21

keilC51(4)

keil 4 For 51 单片机

2017-05-19

Source Insight 配置文件(Vim风格)

Source Insight 配置文件(Vim风格)

2017-05-19

二进制计算器

BinCalc 二进制计算器,用于寄存器的配置

2017-05-19

C和指针(第二版)

C和指针(第二版)

2017-05-19

C Programming Language

C Programming Language C程序设计语言 ( 英文版 )

2017-05-19

C程序设计语言

C Programming Language C程序设计语言(第2版·新版)中文版

2017-05-19

the standard C library

the standard C library C标准库 英文版

2017-05-19

Data Structures and Algorithm Analysis in C Second Edition Solutions Manual

Data Structures and Algorithm Analysis in C Second Edition Solutions Manual 数据结构和算法分析C语言描述第二版答案英文版

2017-05-19

高质量C编程

高质量C编程

2017-05-19

人月神话(可复制)

人月神话二十周年纪念版 THE MYTHICAL MAN-MONTH

2017-05-19

Vim实用技巧

Vim实用技巧

2017-05-19

Unix Network Programming - Volume 2 ( 2th Edition )

Unix Network Programming - Volume 2 ( 2th Edition ) Unix网络编程第二卷(英文版)

2017-05-19

The Developer's Guide to Debugging

null

2017-05-19

Linux内核完全注释

Linux内核完全注释,ISBN:9787111149682,作者:赵炯编著

2017-05-19

Embedded Linux Primer

Embedded Linux Primer 嵌入式Linux导论

2017-05-19

Data Structures and Algorithm Analysis in C ( 2th )

Data Structures and Algorithm Analysis in C ( 2th ) 算法与数据结构C语言描述

2017-05-19

C语言编程透视

C语言透视

2017-05-19

C语言深度剖析

C语言深度剖析

2017-05-19

C traps and pitfalls

C traps and pitfalls C陷阱与缺陷

2017-05-19

Computer Systems A Programmer’s Perspective ( 2th )

Computer Systems A Programmer’s Perspective ( 2th ) 深入理解计算机系统(第二版)

2017-05-19

现代控制系统(第八版)

现代控制系统(第八版)

2017-05-19

Modern_Control_Systems_12th_Edition_Solution_Manual

现代控制系统12版英文版答案

2017-05-19

Modern_Control_Systems_12th_Edition

现代控制系统12版 英文版

2017-05-18

Linux内核源代码情景分析

Linux内核源代码情景分析

2016-11-20

Unix环境高级编程第三版 中文版(非扫描版可复制)

Linux系统编程的神书,懂得人不需要解释太多,不懂的人也不可能看到这个网页

2016-08-03

Unix环境高级编程第三版 English version

Linux系统编程的神书,懂得人不需要解释太多,不懂的人也不可能看到这个网页

2016-08-03

空空如也

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