- 博客(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关注的人