- 博客(36)
- 资源 (11)
- 收藏
- 关注
原创 一步步走向国际乱码大赛-- 恶搞C语言
大家都一直强调规范编码,但是这个世界上有个大师们娱乐的竞赛——国际乱码大赛。 能写出来的都是对语言深入了解的master。我从没想自己也能“恶搞”C,一直都是老老实实编码。就在前几天看了一篇帖子。感觉把很规范的代码变成乱码,很有意思。于是决定动手试一试。 我不得不说。。。我以为看起来还简单的东西,搞了我一天,我去。。。各种bug。。。不过也有很大的
2014-05-02 21:35:44 14029 6
原创 74LS148 编码器 【数字电路】
74LS148datasheet说的很清楚。解码输入,并且确保高位优先级顺序,位数越高,优先级越高。把把个输入解码成3个输出。其实很简单。Don't panic!注意这个输入输出。 所谓的优先编码,救是看你的输入,只要给定的位进行编码,低于该位不管是什么电平信号都无所谓。这就是所谓的优先
2014-05-31 17:01:07 38271 3
原创 逻辑函数的化简 【数字电路】
逻辑函数的化简 先补点各种门的 basic knowledgeNAND 与非 NOR或非 XOR异或 XNOR 同或对于同或,异或之前一直没搞明白。。。。那个该死的标记老是混淆,也不知道为嘛标记的发明人为嘛要那么标记。。。现在知道了XOR。。。所以异或的标记是一个圈中间一把×
2014-05-31 13:12:24 8089
原创 Sketch Nyquist plot 徒手绘制Nyquist 曲线
Sketch Nyquist plot这是相当纠结的领悟。我始终没明白Nyquist曲线究竟是怎么回事,简直痛苦之前讲了波特图入门徒手绘制波特图波特图就是讲幅频特性和相频特性分别绘制在两幅图片上,而Nyquist曲线是将这两幅图合并成一幅图。 现实生活中多是黑箱模型,系统内部的结构是不知道的,为了
2014-05-31 11:02:29 15545 2
原创 SR latch D latch D filp-flop SR触发器 D触发器 D双稳态多谐震荡器 【数字电路】
SR latch D latch D filp-flop SR Latch典型的SR 触发器就长上面那样啦不要以为简单,酒吧 S R Q Q’ 之间的相对位置关系记错了!组成的元素很简单——或非门,但是实现的功能却很重要SR是两个输入端口,Q 和 Q' 是输出端口不要慌
2014-05-30 18:29:00 13693 2
原创 《CS:APP》 chapter 2 Representing and Manipulating Information 笔记
Representing and Manipulating Information
2014-05-30 11:37:23 3113
原创 series compensator 串联校正 自动控制原理实验
series compensator最好看过Introduction to lead/leg compensator再看这个串联校正的笔记blog通过波特图校正系统:校正系统就会有对系统的期望要求。图中对系统的期望是斜坡输入的稳态误差ess 第一步是系统的定型(确定好系统的阶次),阶
2014-05-27 11:49:12 2774
原创 Introduction to lead/lag compensator 超前/滞后矫正环节 自动控制原理
Introduction to lead/lag compensator首先,compensator和controller有啥区别?其实没有明确的界限,两者差不多。不必为这这个概念纠结我找了一下关于这个问题一些人的看法,其中有很“流行”的解说Lutz von Wangenheim · Hochschule BremenHere is
2014-05-24 14:56:17 7461 1
原创 Bode Plots by Hand 徒手绘制波特图
Bode Plots by Hand首先要搞定啥是波特图Introduction to bode plot一步步进阶,搞定波特图~当传递函数是常数的时候,也就是delta函数(脉冲)的laplace变换的结果不难看出,K落在实轴上,如果K>0 那么增益就是K,相角是0。假设增益是3的波特图如下相对应于9
2014-05-24 11:33:15 23260 2
原创 Introduction to Bode Plot 波特图入门
Introduction to Bode Plot神马东东是波特图? A Bode plot /ˈboʊdi/ is a graph of the transfer function of a linear, time-invariant system versusfrequency, plotted with a log-fre
2014-05-23 19:15:56 12686 5
原创 74LS160 笔记 数电实验
74LS160The LS160A / 161A / 162A / 163A are high-speed 4-bit synchronous counters. 74LS160是4位同步计数器。。。不废话了74LS160 datasheet 个人感觉,数电其实是模电的衍生学科,两者都是IC
2014-05-23 15:37:05 23772 3
原创 74LS112 实验 数字电路
74LS112 ——写给74LS112初学者74LS112是常见的JK触发器看datasheet是常识,没事别翻什么学校发的实验手册,看d
2014-05-23 14:43:24 45642 8
原创 root locus 徒手大致绘出根轨迹!一支笔,一张纸,足矣 自动控制原理
徒手绘制根轨迹可以看出假设的系统传递函数如图中黄色公式部分特征方程是(s^3+4*s^2+K*s+1) = 0;绘制根轨迹的方法是铺垫:1) 先把所有和K有关的项合并成一大项K(s), (相当于提公因式K)2) 接着把得到的式子除以不含K的项(如图中蓝色字体部分)于是可以得到,这是变形后的特征方程这个方程
2014-05-22 18:20:35 6370 4
原创 误差输入点和原始信号输入点之间的通路增益对系统的影响 自动控制原理
误差输入点和原始信号输入点之间的通路增益对系统的影响当R作用时,N=0;系统是常见的二阶单位反馈系统在阶跃信号作用下闭环传递函数当s->0时ess = s->0 s*E(s) = s*(R(s)-C(s))于是稳态误差ess = 0当N作用时,R =0;系统是常见的
2014-05-21 19:57:17 1676 1
原创 线性系统串联校正 自控原理 matlab multisim仿真分析
线性系统串联校正对该模型进行matlab仿真串联校正的目标要求加串联校正装置后系统满足以下性能指标:(1)超调量 Mp (2)调节时间(过渡过程时间)ts = 1s(3)校正后系统开环增益(静态速度误差系数)Kv >=25 1/s
2014-05-20 13:31:12 9117 2
原创 Third order system anlysis 自控 三阶系统的稳定性分析 matlab multisim仿真分析
Third order system anlysis当 T0 = 1 ,T1 = 1 ,T2 = 1, K1 = 1 K2 = 1,时的matlab仿真分析此时超调很大,稳定时间长假设T0 = 1 , K1 = 1 K2 = 12,T1 = 0.1 T2 = 0.5 这样一来我故意设置
2014-05-20 11:56:06 7292
原创 second order system analysis 自控 二阶系统的稳定性分析 matlab multisim仿真分析
second order system anlysis在matlab里面搭建好相应的仿真模型图当T0 = 10 ,K1 = 1,T1 = 1的时候根据二阶系统的开,闭环传递函数的特点,这里我们可以通过调节系数的值,间接的调节Wn 和 epsilon(阻尼)的值在上图中epsilon
2014-05-20 11:23:00 4379
原创 《linux 内核完全剖析》 keyboard.S 部分代码分析(key_map)
keyboard.S 部分代码分析(key_map)keyboard中间有这么一段,我一开始没看明白,究竟啥意思key_map: .byte 0,27 .ascii "1234567890-=" .byte 127,9 .ascii "qwertyuiop[]" .byte 13,0 .ascii "asdfghjkl;'" .byte '`,0 .ascii
2014-05-11 21:25:21 2091
原创 Assembly instructions 汇编指令解析 A&AT
Assembly instructions汇编初步学习汇编0基础的戳上面,刷一遍,包治百病%eax寄存器的值与C语言的return的值相对应(%esp)地址处储存的是函数的返回地址 return address%esp 栈顶寄存器 保存栈顶指针。%ebp = boundary between p
2014-05-11 20:40:25 2444
原创 《linux 内核完全剖析》 chapter 8 内核代码
chapter 8 内核代码8.1.1中断处理程序traps.c#define get_seg_byte(seg,addr) ({ \ //取seg中addr处1byteregister char __res; \__asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs"
2014-05-08 20:45:17 1631
原创 《linux 内核完全剖析》 vsprintf.c 代码笔记
vsprintf.c 代码笔记你/* * linux/kernel/vsprintf.c * * (C) 1991 Linus Torvalds *//* vsprintf.c -- Lars Wirzenius & Linus Torvalds. *//* * Wirzenius wrote this portably, Torvalds fucked
2014-05-08 16:06:05 2923
原创 《linux 内核完全剖析》 sys.c 代码分析
sys.c 代码分析 setregid/* * This is done BSD-style, with no consideration of the saved gid, except * that if you set the effective gid, it sets the saved gid too. This * makes it possib
2014-05-08 14:53:51 2093
原创 《linux 内核完全剖析》 fork.c 代码分析笔记
fork.c 代码分析笔记verifiy_arealong last_pid=0; //全局变量,用来记录目前最大的pid数值void verify_area(void * addr,int size) // addr 是虚拟地址 ,size是需要写入的字节大小{ unsigned long start; start = (unsigned lo
2014-05-08 12:13:58 4424
原创 《linux 内核完全剖析》 exit.c 代码分析笔记
exit.c 代码分析笔记 release 释放进程的函数release() 主要根据指定进程的任务数据结构指针,在任务数组中删除指定的进程指针,释放相关内存页,并立刻让内核重新调度进程的运行。void release(struct task_struct * p) //释放p指向的进程{ int i; if (!p) //常规检测
2014-05-07 18:37:04 2488
原创 "I ask you, have you ever known what it is to be an orphan?"
/* * Determine if a process group is "orphaned", according to the POSIX * definition in 2.2.2.52. Orphaned process groups are not to be affected * by terminal-generated stop signals. Newly orp
2014-05-07 12:25:05 2033
原创 《linux 内核完全剖析》 signal.c 代码分析笔记
signal.c 代码分析笔记int sys_sgetmask()// 获取当前进程阻塞的信号{ returncurrent->blocked;} int sys_ssetmask(int newmask) //设置当前进程阻塞信号,确保SIGKILL 和SIGSTOP不被阻塞{ int old=current->
2014-05-07 10:14:50 2398
原创 《linux 内核完全剖析》sched.c sched.h 代码分析笔记
首先上header file#ifndef _SCHED_H#define _SCHED_H#define HZ 100#define NR_TASKS 64#define TASK_SIZE 0x04000000#define LIBRARY_SIZE 0x00400000#if (TASK_SIZE & 0x3fffff)#error "TASK_
2014-05-07 09:49:26 11736 1
原创 《linux 内核完全剖析》 mktime.c
tm结构体的定义在time.h里面struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst;};/*
2014-05-06 13:48:39 1750
原创 《linux 内核完全剖析》get_free_page(void)【嵌入式汇编复习看这里】
unsigned long get_free_page(void){register unsigned long __res asm("ax");repeat: __asm__("std ; repne ; scasb\n\t" "jne 1f\n\t" "movb $1,1(%%edi)\n\t" "sall $12
2014-05-05 15:34:48 2881
原创 《linux 内核完全剖析》编译linux 0.12 内核 Ubuntu 64bits 环境
我×。。。终于好了,大概3 4个小时吧。。。各种毛刺问题。终究还是闯过来了。。。。ubuntu2@ubuntu:~/Downloads/linux-0.00-050613/linux-0.00$ makeld -s -x -M head.o -o system > System.mapdd bs=32 if=boot of=Image skip=116+0 records i
2014-05-04 18:06:11 2818 2
原创 《linux 内核完全剖析》上帝为什么是右移20,而不是22! dir = (unsigned long *) ((from>>20) & 0xffc)
在memory.c里面有这么一段代码。为了其中的一句话,让我内牛满面啊! dir = (unsigned long *) ((from>>20) & 0xffc)int free_page_tables(unsigned long from,unsigned long size){ unsigned long *pg_table; unsigned long
2014-05-04 11:01:22 3141 3
原创 《linux 内核完全剖析》 void free_page() 分析
#define PAGE_SIZE 4096/* these are not to be changed without changing head.s etc */#define LOW_MEM 0x100000extern unsigned long HIGH_MEMORY;#define PAGING_MEMORY (15*1024*1024)#define PAGING_PAG
2014-05-04 10:22:13 3149
原创 《modern operating system》 chapter 3 MEMORY MANAGEMENT 笔记
Over the years, people discovered the concept of a memory hierarchy,
2014-05-03 21:45:38 5956
CSAPP lab 5 实验指导书
2014-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人