自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 收藏
  • 关注

原创 altium designer 怎么生产1:1的pcb图pdf文件

altium designer 怎么生产1:1的pcb图pdf文件? 如果你想生成这样一个pdf文档,你可以安装一个虚拟打印机,当你按打印的时候选择通过虚拟打印机打印,他就自动生成一个pdf文档,而不是实际地打到一张A4纸上。虚拟打印机很多,我只介绍一个非常小的,非常简单的(只有几个按钮而已):TinyPDF网上有得下载,我也提供我的网盘供大家下载:http://dl.vmall.co

2013-11-10 18:44:50 1376

原创 a8 a9和a10对应存储阵列地址字地址 是神马意思?

在读at24c08的pdf时看到这句话,想不通是神马意思,网上百度了一下,也没有得到好的解释,经过仔细的研究才懂得了其中的道理。于是我拿24c08来讲一下,从pdf上我们了解到在IIC总线最多有2个atc08,这正是A2 的作用,A2=0或1分别对应着器件1和器件2.那24c08里的a9和a8是什么用呢?看下面的这段英文(从英文的paf下摘下来的),

2013-11-09 16:51:11 375

原创 单片机与pc机进行串口通信

单片机使用TTL电平(高电平:+5V 低电平:0V),电脑使用RS232电平(高电平:-12V 低电平:+12V),所以电压之间必须进行转换,使用最常用的的 MAX232 芯片实现转换。MAX232自动实现TTL电平和RS232电平的转换,TTL电平从T1IN/T2IN输入(连单片机的TXD),从R1OUT/R2OUT输出(连单片机的RXD),RS232电平从R1IN/R2IN输入

2013-11-09 14:55:43 2117 2

原创 Linux C进程与多线程入门— (5)使用互斥量进行同步

互斥简单地理解就是,一个线程进入工作区后,如果有其他线程想要进入工作区,它就会进入等待状态,要等待工作区内的线程结束后才可以进入。 基本函数(1)  pthread_mutex_init函数原型:int pthread_mutex_init ( pthread_mutex_t *mutex,  const pthread_mutexattr_t* attr);描述:设置互斥

2013-09-07 22:48:00 262

原创 Linux C进程与多线程入门—(4)简单多线程程序

一、进程与线程(1)线程是进程的一个实体,是CPU调度和分派的基本单位,,它是比进程更小的能独立运行的基本单位.    (2)进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费

2013-09-07 16:47:52 284

原创 Linux C进程与多线程入门—(3)信号

概念信号是系统响应某些状况而产生的事件,进程在接受到信号时会采取相应的行动。(非常像单片机的中断),信号可以明确地由一个进程产生发送到另外一个进程,用这种办法传递信息或协调操作行为。进程可以生成信号、捕捉并相应信号或屏蔽信号。信号的名称是在头文件signal.h里定义。下面我列出一部分,如下:———————————————————————————信号名称            

2013-09-07 14:47:56 299

原创 Linux C进程与多线程入门—(2)等待进程

问题     在创建进程这一节内容中,我们看到,消息的输出是父子进程交替输出,且父进程在子进程之前结束。如果要安排父进程在子进程结束之后才结束。可以调用wait函数。函数说明              pid_t wait( int * stat_loc );包含的头文件: #include  #include 返回值:子进程的PID参数:如果stat_loc不是一个空

2013-09-06 10:40:52 571

原创 Linux C进程与多线程入门—(1)创建进程

进程和程序的区别进程和程序的区别可以理解为,进程是活动的程序,而程序是一个代码的集合。进程是加载到内存中的程序,而程序没有加载到内存中,只在磁盘上保存着。下图是进程的结构,而程序只包含代码段。  进程代码实例fork.c文件#include #include #include int main(){pid_t pid;char *message;

2013-09-06 10:10:38 371

原创 我谈单片机

今天考完单片机,说起来我也学了不少时间了,从自学到现在,应该有大半年了。很快就要告别这单片机去更深层次的技术上学习了,现在来谈谈我对单片机的认识。        从课本上上我们得到标准的答案:单片机是集成了cpu、io口、和memory于一身的集成IC。这样说可能有点卖弄专业,于是我把单片机定义为:        为了阻挠你实现某一功能而设置了无数的开关(也叫寄存器),只要你把相应的开关合

2013-06-20 09:48:29 246

原创 流水灯和渐暗led灯

无聊有写了俩个小程序,一个是以前写了好多次的流水灯,写来回忆回忆,复习复习,一个是一直想写没空写的pwm下的渐暗led灯。特此一记,以证明我还活着。  一:流水灯:#include#include#define  uchar unsigned char#define  uint  unsigned intuchar temp;void delay( int i);v

2013-06-19 15:55:44 351

原创 51单片机控制2位共阳数码管

由于最近做的电子系统设计——心率测试仪要用到数码管,特意买了一个2位的共阳数码管来用,先学习一下怎么使用,2位的数码管只能使用动态显示的方法,下面是仿真图: 用到两个74hc573锁存器来锁存数据,动态显示原理是在很短的时间内轮流向每一个数码管送数据,当频率很大时,又加上人眼有视觉暂留效应,人眼已经无法分辨有没有灭过(如电视剧的每一秒24帧):下面是源代码:(由于没有外部中断输入,所以

2013-06-19 15:54:59 3432

原创 51单片机外部中断怎么用?

今天再接再厉把昨天的程序来完善,由于心理测试仪需要采集外部脉冲来计数,那么就必须用到外部中断来计数,然后送数码管显示,昨天贪方便先用内部计时中断,好,今天自己添一个方波到单片机的P3,2口(INTO口),作为外部中断源来使用:仿真图如下:     程序如下:#include#define uchar unsigned char#define uint  unsign

2013-06-19 15:53:38 933

原创 lcd1602使用方法

本来心率那个打算用数码管显示就算了,虽知道心头一热,还是打算引条线出来试试用液晶来显示看看,做完才发现比数码管简单多了,仿真程序如下: #include#define uchar unsigned char#define uint  unsigned intuchar ge,shi;bai;//个十百位sbit rs=P2^7;//数据H/命令L选择端sbit lc

2013-06-19 15:50:27 434

原创 DAC0832中领悟的知识

之前一直没做过da转换,于是想仿真来看看,谁知道严格按照datasheet来做,仿真结果还是出不来,我看啊看,想啊想,还是想不通,这是我刚开始的仿真图: 检查了十几二十遍都觉得没有问题,由此苦恼了两个星期,今天茅塞顿开,发现了是GND和VCC的问题,仿真图中的GND和VCC太多了,而他们在仿真时并不是默认是同一个,而且dac0832还有数字地和模拟地之分,于是我把原理图简化规范如下

2013-06-19 15:44:31 657

原创 LVM使用方法_jordanli22

添加删除显示物理卷pvcreat  /dev/sdb1pvremove /dev/sdb1pvdisplay卷组vgcreat  jvname /dev/sdb1vgremove jvnamevgdisplay逻辑卷lvcreat

2013-06-19 15:01:39 359

原创 fdisk新建磁盘,删除磁盘,格式化磁盘

1.虚拟机添加磁盘FINSH 现在开启虚拟机,开启linux。运行命令fdisk -l                查看磁盘信息[root@centos ~]# fdisk -lDisk /dev/sda: 10.7 GB, 10737418240 bytes255 heads, 63 secto

2013-06-19 14:59:39 454

原创 安装vmware-tools

1.加载光驱$mount /etc/cdrom /mnt/cdrom    //光驱加载到了/mnt/cdrom$cd /mnt/cdrom //跳到/mnt/cdrom$ls //查看一下有什么内容mainfest.txt   VMwareTools-8.8.0-471268.tar.gz//必须把这些需要的东西复制出去其他地方存放,因为光盘是不允许写的$cd /ro

2013-06-19 14:52:57 266

原创 Shell脚本中单引号(‘’)和双引号(“”)的区别

在Shell中引号分为三种:单引号、双引号和倒引号。 (1)双引号  由双引号括起来的字符,除$、倒引号(`)和反斜线(\)仍保留其特殊功能外,其余字符均作为普通字符对待。“$”表示变量替换,即用其后指定的变量的值来代替$和变量;倒引号表示命令替换;仅当“\”后面的字符是下述字符之一时,“\”才是转义字符,这些字符是:“$”、“`”、“"”、“\”或换行符。转义字符告诉Shell不要对

2013-06-19 14:50:25 817

原创 linux特殊权限位

1.改变权限命令chmod:更改文件权限chgrp:修改文件所属组chown:修改文件拥有者2.目录的读、写和执行权限含义对于文件的读写执行的含义,都比较了解,对于目录的权限和文件的权限是不一样的。目录的读权限位意味着可以列出其中的内容;写权限位意味着可以在该目录中创建文件,如果不希望其他用户在你的目录中创建文件,可以取消相应的写权限位;执行权限位则意味着搜索和访问(进入)

2013-06-19 14:48:18 263

原创 最小寻址单位——字节(byte)

天下人都知道,电脑数据量的最小单位是一个比特(bit),而字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位比特。 但是硬件寻址的最小单位不是比特而是一个字节,这么说好像没什么感觉,咋们赶紧上菜:char b[4]="abc";printf("%p\n%p\n%p\n%p\n",b,&b[1],&b[2],&b[3]);由上面结果可以

2013-06-19 14:44:37 1309

原创 字符串和指针那些趣事

1、地址的趣事char a[] = "abcdef";//方法一char *pa = "ABCDEF";//方法二printf("a's address is :%p\n",a);//a指向了字符串第一个字符的地址,即  //"abcdef"中a的地址printf("&a's address is :%p\n",&a);//&a指向了字符串第一个字符的地//址,即 "abc

2013-06-19 14:43:24 240

原创 指针数组和数组指针——你懂了吗?

指针数组,故名思义,就是指针的数组,数组的元素是指针;    数组指针,同样,就是指向数组的指针。    首先我们来认识一下多维数组的实质:     Part1:  C语言中所谓的二维数组其实就是一维数组,因为一维数组的每个元素都是一维数组,(把二维数组的每一行当作一个元素,那么纵向来看就是一个一维数组)那么这个一维数组就是所谓的二维数组。    C语言并没有多维数组,我们

2013-06-19 14:36:11 271

原创 指针函数和函数指针——>又一绕口的混蛋

预热:如果你已经弄明白了数组指针和指针数组的区别,那么恭喜你,你也可以读懂下面这篇文章了,但我还是希望你在读之前简单地了解一下“右左法则” 。(右左法则是必须知道的常识哦,所以别偷懒,下面有链接。)http://blog.csdn.net/supermegaboy/article/details/4854965正式开始:1>指针函数:返回值为指针的函数,是一个函数我们见过无

2013-06-19 14:34:50 194

原创 变长参数------>大学不教你我来教

这个知识点在大学里一般都不讲,翻阅所有的C语言入门书籍也没有相关的内容,但你不要认为它就那么遥不可以及,其实还是比较简单,知识有一点技术而已,废话少说,我们用的最多的C函数是哪个?毫无疑问,是printf。但是你看过printf的声明式吗,那是相当诡异。随便拿一本带C库函数参考的书,可查到如下结果:             int printf(const char *format, ..

2013-06-19 14:31:50 253

原创 scanf那点把戏

A、scanf拿来接受终端的数据,但它很不负责,当我们用enter把数据都送出去后,它却让enter孤零零一个字符在哪里?这话怎说,看看代码:char ch1,ch2 ;scanf("%c",&ch1);ch2 = getchar();printf("%d %d",ch1,ch2);当我输入一个字符’a’后,ch1 = ‘a’,而ch2就接收了enter键了。最后输出两个的

2013-06-19 14:28:38 386 2

原创 c中volatile关键字------嵌入式基础(结合大侠们的资料整合而成)

c中volatile关键字------嵌入式基础前言:嵌入式里面我们大量的接触和操作硬件和底层,而操作最多的莫过于寄存器了,寄存器里面的值不停的变化,从而引出今天的话题。预热:编译器优化介绍由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行

2013-06-19 14:26:12 421 1

原创 C语言中关键字const有什么含义?

如果阅读中发现了错误,请及时告诉我,以免误人子弟。          本文由jordanli22结合网络资源整合修改总结而成(部分原创),欢迎转载。        const是一个C语言的关键字,它限定一个变量不允许被改变。也可以说是只可读不可写的变量。        C中const的用法总结起来主要分为以下两种:        1.在定义变量时使用(由于const

2013-06-19 14:21:28 798

原创 1+1也许不等于2-----步长

好吧,我承认这个日志很无聊,只是来讨论一下1+1的问题,随便引申一下步长和地址强制转换的问题,要不是jordanli22(也就是本人我)无聊得发慌,他也不会写这日志,哈哈,废话少说,直奔主题。1.数学运算的1+1    int i = 1;    float f =  1;double d = 1;printf("%d\n%f\n%lf\n",i+1,f+1,d+1);

2013-06-19 14:17:12 255

空空如也

空空如也

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

TA关注的人

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