06 2013 档案

摘要:写在前面:杂七杂八的看原文,直接上算法研究当 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 阅读(215) 评论(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 阅读(232) 评论(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 阅读(163) 评论(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 阅读(1237) 评论(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 阅读(1228) 评论(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 阅读(703) 评论(0) 推荐(0)
摘要:刚学习stm32,发现一些很喜欢的方法,记录下来。个初学者,一开始对 STM32 一般是没有概念的,所以首先要做的就是多做实验,一定要相信实践出真知,结合上面 2 本手册,你很快就会熟悉 STM32,进而随心所欲。其次要多做笔记,在你不知道的时候,找 MDK 的例子,找第二点中的两本本手册,当你碰到新的知识点的时候,把它记下来,俗话说:好记性不如烂笔头。将你刚学到的东西用笔记下了,对以后没有坏处。只要以上三点做好了,学习 STM32 基本上就不会有什么问题了。当你有需要用的东西,自己写代码写不出来了,就可以在 MDK 自带的例子中找找,看看是否有相关的例程。对于STM32 的外设,MDK 基本 阅读全文
posted @ 2013-06-15 01:32 notepi 阅读(1522) 评论(0) 推荐(0)
摘要:写在前面的话:这篇文章值得看十遍。分享一下51单片机多任务操作系统的原理与实现--一个超轻量级的操作系统前言想了很久,要不要写这篇文章?最后觉得对操作系统感兴趣的人还是很多,写吧.我不一定能造出玉,但我可以抛出砖.包括我在内的很多人都对51使用操作系统呈悲观态度,因为51的片上资源太少.但对于很多要求不高的系统来说,使用操作系统可以使代码变得更直观,易于维护,所以在51上仍有操作系统的生存机会.流行的uCos,Tiny51等,其实都不适合在2051这样的片子上用,占资源较多,唯有自已动手,以不变应万变,才能让51也有操作系统可用.这篇贴子的目的,是教会大家如何现场写一个OS,而不是给大家提供一 阅读全文
posted @ 2013-06-15 01:31 notepi 阅读(5604) 评论(2) 推荐(1)
摘要:wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;(3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;(4)设置方便简单;可能,习惯图形界面的用户已经 阅读全文
posted @ 2013-06-15 01:29 notepi 阅读(192) 评论(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 阅读(600) 评论(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 阅读(1389) 评论(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 阅读(283) 评论(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 阅读(6768) 评论(0) 推荐(0)
摘要:stdout, stdin, stderr的中文名字分别是标准输出,标准输入和标准错误。在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个。那么什么是数据流呢(stream)?我们知道,一个程序要运行,需要有输入、输出,如果出错,还要能表现出自身的错误。这是就要从某个地方读入数据、将数据输出到某个地方,这就够成了数据流。因此,一个进程初期所拥有的这么三个数据流,就分别是标准输出、标准输入和标准错误,分别用stdout, stdin, stderr来表示。对于这三个数据流来说,默认是表现在用户终端上的,比如我们在c中使用fprintf:fpr 阅读全文
posted @ 2013-06-15 01:23 notepi 阅读(4774) 评论(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 阅读(323) 评论(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 阅读(366) 评论(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 阅读(292) 评论(0) 推荐(0)
摘要:"原子操作(atomic operation)是不需要synchronized",这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行倒结束,中间不会有任何 context switch (切换到另一个线程)。 阅读全文
posted @ 2013-06-15 01:18 notepi 阅读(714) 评论(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 阅读(241) 评论(0) 推荐(0)
摘要:最近在linux下读代码,简直不能直视;windows下推荐Source Insight;下面写下linux下如何读代码。工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。C/C++: vim+ctags+taglist+cscope安装就不说了,根据下面的自行安装。1,安装使用Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。在usr/share/vim/vimrc中增... 阅读全文
posted @ 2013-06-15 01:16 notepi 阅读(410) 评论(0) 推荐(0)
摘要:网上看到的,做个标记。没研究过,仅供参考linux编程学习inux 学习书目推荐Linux基础1、《Linux与Unix Shell 编程指南》C语言基础1、《C Primer Plus,5th Edition》【美】Stephen Prata著2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)著3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)4、《嵌入式Linux应用程序开发详解 阅读全文
posted @ 2013-06-15 01:14 notepi 阅读(17133) 评论(0) 推荐(3)
摘要:最近在学习Unix下系统编程,书看的还比较仔细,但是合上书后总是有种雾里看花朦朦胧胧的感觉。俗话说实践出真知,学习编程怎么能不动手呢。既然是学习系统编程那就写一些系统命令来巩固知识,消除朦胧的感觉吧!选中PWD命令,有如下几个原因: 1、 可以加深对Linux文件系统组织结构的理解 2、可以加深对目录结构的理解 3、 可以加深对挂载点和链接的理解注:关于LINUX文件系统的相关基础知识,大家可以先看看《Linux文件系统详解》:http://www.armjishu.com/bbs/viewtopic.php?id=1754&flag=1578 Unix下一切皆文件,也就是说掌握好了. 阅读全文
posted @ 2013-06-15 01:13 notepi 阅读(1343) 评论(0) 推荐(0)
摘要:重新装了Windows7,由于硬盘的MBR引导区被覆盖,而无法进入Ubuntu,所以只能重新更新MBR。以下是操作步骤:1.设置硬盘启动后,放入Ubuntu的LiveCD,稍等片刻后就能进入Ubuntu的操作界面2.打开系统终端窗口,输入sudo fdisk -l之后会显示出你的硬盘分区情况,记下分区名为Linux的分区号,我的是/dev/sda43.sudo -i取得管理员的权限4.mkdir /media/tempdir在/media目录下创建一个临时目录,以便后面挂载/dev/sda45.挂载linux分区,mount /media/tempdir /dev/sda46.grub-ins 阅读全文
posted @ 2013-06-15 01:09 notepi 阅读(228) 评论(0) 推荐(0)
摘要:在P51中出现了STDIN_FILENO,不明白原因,就查了下。1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。2.区别1)数据类型不一致:stdin类型为 FILE*STDIN_FILENO类型为 int使用stdin的函数主要有:fread、fwrite、fclose等,基本上都以f开头使用STDIN_FILENO的函 阅读全文
posted @ 2013-06-15 01:07 notepi 阅读(254) 评论(0) 推荐(0)
摘要:装了半天,算是折腾好了。1:下载matlab 下载地址:ed2k://|file|%5B%E7%9F%A9%E9%98%B5%E5%AE%9E%E9%AA%8C%E5%AE%A4 %5D.TLF-SOFT-Mathworks.Matlab.R2010a.UNIX.ISO-TBE.iso|4902662144|23d2d23050f366e03290437a68693102|/2:挂载光盘镜像,使用mount命令#mount -o loop /home/aaa.iso /media其中/home/aaa.iso为你的光盘所在位置,/media为你要把光盘镜像文件挂载到的位置3.:进入镜像文件目. 阅读全文
posted @ 2013-06-15 01:04 notepi 阅读(1655) 评论(0) 推荐(0)