摘要: 写在前面:杂七杂八的看原文,直接上算法研究当 OSRdyTbl[0]中的任何一位是 1 时,OSRdyGrp 的第 0 位置 1, 当 OSRdyTbl[1]中的任何一位是 1 时,OSRdyGrp 的第 1 位置 1,当 OSRdyTbl[2]中的任何一位是 1 时,OSRdyGrp 的第 2 位置 1,当 OSRdyTbl[3]中的任何一位是 1 时,OSRdyGrp 的第 3 位置 1,当 OSRdyTbl[4]中的任何一位是 1 时,OSRdyGrp 的第 4 位置 1, 当 OSRdyTbl[5]中的任何一位是 1 时,OSRdyGrp 的第 5 位置 1,当 OSRdyTbl[.. 阅读全文
posted @ 2013-06-15 01:39 notepi 阅读(302) 评论(0) 推荐(0)
摘要: 作者:911说明:本文参考了http://www2.tsu.edu.cn/www/cjc/online/cyuyan/,算是对其的修正,在此将本文列为原创,实有抄袭之嫌疑。甚是惭愧!位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^按位异或若参加运算的两个二进制位值相同则 阅读全文
posted @ 2013-06-15 01:38 notepi 阅读(210) 评论(0) 推荐(0)
摘要: Printf(“%x.yd”):x表示长度,y表示小数位,d表示数据类型。若x前有-则表示左对齐。若为+则表示显示数据类型+,或者-;前有0则表示不用空格填补,用0;返回值为输出的字符个数。Scanf()函数返回成功读入项目的个数。如果没有读取任何项目则返回0,错误读取返回EOF(-1)Scanf(“%d”,&x)同printf如果scanf()没有成功读取输入,就会将其留在输入队伍中#include<stdio.h>intmain(){intinput;charch;while(scanf("%d",&input)!=1){printf(&qu 阅读全文
posted @ 2013-06-15 01:37 notepi 阅读(230) 评论(0) 推荐(0)
摘要: #include<stdio.h>int main(){ char table[5],ftable[5],num=5; int a=12345; while(num--) { table[num]=a%10; a=a/10; } for (num=0;num<5;++num) { printf("%d\n",table[num]); } return 0;}while里面的,不管是num++,还是++num,效果都是一样,都是加完以后再用num;if里面num++,++num都是一样,都是执行代码以后再进行num操作。其实if里面的判别是 当num< 阅读全文
posted @ 2013-06-15 01:36 notepi 阅读(159) 评论(0) 推荐(0)
摘要: 使用技巧:想查找的指令 直接 crl+f 然后输入指令就好了1)数据传送类指令(7种助记符)MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送;MOVX (Move External RAM) 对外部RAM的数据传送;XCH (Exchange) 字节交换;XCHD (Exchange low-order Digit) 低半字节交换;PUSH (Push onto Stack) 入栈;POP (Pop from Stack) 出栈;(2)算术运算类指令(8种助记符)ADD(Addition) 加. 阅读全文
posted @ 2013-06-15 01:35 notepi 阅读(1212) 评论(0) 推荐(0)
摘要: P0口作为I/O口输出的时候时输出低电平为0输出高电平为高组态(并非5V,相当于悬空状态)。也就是说P0口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!!3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效;4.当P0口用来 阅读全文
posted @ 2013-06-15 01:35 notepi 阅读(1218) 评论(0) 推荐(0)
摘要: 51\52单片机汇编学习笔记写在前面:本文适合阅读ppt是参考。笔记参考书籍为《单片机中级教程-原理及应用》,参考ppt为三明学院机电工程学院使用ppt(文章结尾提供下载地址)。笔记内容只有操作指令解析。前面多为名词解释。在学校ppt时可以参考。后面部分为部门重点及难点。有不足,欢迎补充及讨论。指令只是很少的一部分,其余部分可以参考51汇编指令查询(文章结尾提供下载地址),建议结合使用。推荐使用crl+f查询本文中的名称。文章结尾提供部分特殊寄存器介绍图片,可以参考。寄存器间接寻址:寄存器中放的是地址,通过间接寻址寄存器管理地址所指单元,在51\52单片机中叫Ri有R0和R1两个;Ri:51\ 阅读全文
posted @ 2013-06-15 01:33 notepi 阅读(695) 评论(0) 推荐(0)
摘要: 刚学习stm32,发现一些很喜欢的方法,记录下来。个初学者,一开始对 STM32 一般是没有概念的,所以首先要做的就是多做实验,一定要相信实践出真知,结合上面 2 本手册,你很快就会熟悉 STM32,进而随心所欲。其次要多做笔记,在你不知道的时候,找 MDK 的例子,找第二点中的两本本手册,当你碰到新的知识点的时候,把它记下来,俗话说:好记性不如烂笔头。将你刚学到的东西用笔记下了,对以后没有坏处。只要以上三点做好了,学习 STM32 基本上就不会有什么问题了。当你有需要用的东西,自己写代码写不出来了,就可以在 MDK 自带的例子中找找,看看是否有相关的例程。对于STM32 的外设,MDK 基本 阅读全文
posted @ 2013-06-15 01:32 notepi 阅读(1520) 评论(0) 推荐(0)
摘要: 写在前面的话:这篇文章值得看十遍。分享一下51单片机多任务操作系统的原理与实现--一个超轻量级的操作系统前言想了很久,要不要写这篇文章?最后觉得对操作系统感兴趣的人还是很多,写吧.我不一定能造出玉,但我可以抛出砖.包括我在内的很多人都对51使用操作系统呈悲观态度,因为51的片上资源太少.但对于很多要求不高的系统来说,使用操作系统可以使代码变得更直观,易于维护,所以在51上仍有操作系统的生存机会.流行的uCos,Tiny51等,其实都不适合在2051这样的片子上用,占资源较多,唯有自已动手,以不变应万变,才能让51也有操作系统可用.这篇贴子的目的,是教会大家如何现场写一个OS,而不是给大家提供一 阅读全文
posted @ 2013-06-15 01:31 notepi 阅读(5584) 评论(2) 推荐(1)
摘要: wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;(3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;(4)设置方便简单;可能,习惯图形界面的用户已经 阅读全文
posted @ 2013-06-15 01:29 notepi 阅读(187) 评论(0) 推荐(0)
摘要: 奶牛用的第一个ubuntu版本是9.04,那时候启动配置文件还是menu.lst,到了ubuntu9.10的时候就更名为grub.cfg了,ubuntu 10.04依旧沿用的是grub.cfg,但是这个文件的内容变更并不是那么大。在ubuntu中,grub.cfg(menu.lst)就相当于windows系统下的boot.inf文件,记录着一些启动配置信息,在这里奶牛为大家介绍一些简单的设置规则。打开命令行, sudo gedit /boot/grub/grub.cfg (或者 sudo gedit /boot/grub/menu.lst)打开grub.cfg文件在### BEGIN /etc 阅读全文
posted @ 2013-06-15 01:28 notepi 阅读(583) 评论(0) 推荐(0)
摘要: 随着Linux的应用日益广泛,特别是在网络应用方面,有大量的网络服务器使用Linux操作系统。由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的,目前Linux的擅长应用领域是单一应用的基础服务器应用,譬如DNS和DHCP服务器、Web服务器、目录服务器、防火墙、文件和打印服务器、Intranet代理服务器 。启动 Linux 系统的过程包括很多阶段。不管您是引导一个标准的 x86 处理器,还是PowerPC 机器,很多流程都惊人地相似。本文将描述了从开机到登录的 Lin 阅读全文
posted @ 2013-06-15 01:27 notepi 阅读(1387) 评论(0) 推荐(0)
摘要: 首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux | grep program_filter_wordps a 显示现行终端机下的所有程序,包括其他用户的程序。ps -A 显示所有程序。ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。ps -e 此参数的效果和指定"A"参数相同。ps e 列出程序时,显示每个程序所使用的环境变量。ps f 用ASCII字符显示树状结构,表达程序间的相互关系。ps -H 显示树状结构,表示程序间的相互关系。ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 阅读全文
posted @ 2013-06-15 01:25 notepi 阅读(279) 评论(0) 推荐(0)
摘要: [root@lzf ~]# xrandr(查看当前分辨率和所有分辨率选项)xrandr: Failed to get size of gamma for output defaultScreen 0: minimum 320 x 200, current 1280 x 960, maximum 2560 x 1600default connected 1280x960+0+0 0mm x 0mm 1024x768 60.0 0.0 (这一行是当前分辨率,不算) 800x600 60.0 56.0 0.0 (这是第一行) 640x480 60.0 0.0... 阅读全文
posted @ 2013-06-15 01:24 notepi 阅读(6750) 评论(0) 推荐(0)
摘要: stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个。那么什么是数据流呢(stream)?我们知道,一个程序要运行,需要有输入、输出,如果出错,还要能表现出自身的错误。这是就要从某个地方读入数据、将数据输出到某个地方,这就够成了数据流。因此,一个进程初期所拥有的这么三个数据流,就分别是标准输出、标准输入和标准错误,分别用stdout, stdin, stderr来表示。对于这三个数据流来说,默认是表现在用户终端上的,比如我们在c中使用fprintf:fpr 阅读全文
posted @ 2013-06-15 01:23 notepi 阅读(4759) 评论(2) 推荐(1)
摘要: 打开终端,在终端里输入$sudogedit/etc/apt/sources.list三. 使用APT软件包管理器安装Google Chrome如果你想通过APT软件包管理器安装Google Chrome的话,方法同样也很简,你只需运行sudo gedit /etc/apt/sources.list.d/google-chrome.list并输入debhttp://dl.google.com/linux/deb/stable main完毕后保存文件并在终端中运行wget -q -O –https://dl-ssl.google.com/linux/linux_signing_key.pub| s 阅读全文
posted @ 2013-06-15 01:21 notepi 阅读(316) 评论(0) 推荐(0)
摘要: LINUX 下安装软件方法命令方法怎么安装应用软件? 我的软件安装在什么地方? 如何删除不要的应用软件? …… 下面,我们就一起来认识一下这些方面的问题。 一、 解析Linux应用软件安装包: 通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。 2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。 3) dpkg包,如software-1.2.3-1.deb。它是Debain... 阅读全文
posted @ 2013-06-15 01:20 notepi 阅读(364) 评论(0) 推荐(0)
摘要: / ;linux系统的根目录,是系统的最顶层。/bin ;里面是系统最基本的二进制命令文件如ls cp rm ln等等。/sbin ;s就是super的意思,里面都是超级用户用于管理系统的命令,如mkfs.ext3 等。/boot ;里面是开机程序,lilo或grub,还有linux 内核文件vmlinuz ,初始化系统的initrd.img文件。/dev ; 就是device的意思,代表计算机的所有硬件设备。如IDE盘:/dev/hdx ;串口:/dev/ttyx.;scsi盘用sdx表示。注意,一般情况下usb盘,s-ata硬盘也模拟成scsi来驱动。/lib ; 系统核心的动态模块和连接 阅读全文
posted @ 2013-06-15 01:19 notepi 阅读(288) 评论(0) 推荐(0)
摘要: "原子操作(atomic operation)是不需要synchronized",这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行倒结束,中间不会有任何 context switch (切换到另一个线程)。 阅读全文
posted @ 2013-06-15 01:18 notepi 阅读(713) 评论(0) 推荐(0)
摘要: 最近在读 Richard Stevens 的大作《UNIX环境高级编程》,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:apue.h:没有那个文件或目录”。apue.h 是作者自定义的一个头文件,并不是Unix/Linux系统自带的,此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下,gcc在编译时是读不到这个头文件的。先在这个网站http://www.apuebook.com/下载tar.gz格式的源码包,然后解压至某个目录,比如说/home/yarkee/下,然后进入目录apue.2e,把文件M 阅读全文
posted @ 2013-06-15 01:17 notepi 阅读(239) 评论(0) 推荐(0)