- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 Linux下的进程
定义:进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元;进程与程序的区别:进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制进程是暂时的,程序使长久的:进程是一个状态变化的过程,程序可长久保存进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)进程...
2019-01-13 20:40:06
221
原创 Linux下常用的命令操作
Linux 部分目录结构:/: 根目录,只存放目录,不要存放文件。目录 如:/etc,/bin, /dev, /lib, /sbin 等放置在一个分区中。 /bin: 可执行二进制目录文件,如常用的ls,cat, mv, tar 命令存放在本目录中。/boot: 存放linux系统启动时使用的文件,其中vmlinuz为linux内核文件,以及gurb文件。...
2019-01-13 19:29:33
257
原创 Linux下的文件操作
API:应用程序接口1.创建一个文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <stdlib.h>int main(){ int fd; //文件描述符 fd = ...
2019-01-12 19:50:14
534
原创 51单片机第八讲(DS18B20温度芯片)
1.单总线通信初始化 初始化时序包括:主机发出的复位脉冲和从机发出的应答脉冲。主机通过拉低单总线480-960μs产生复位脉冲;然后由主机释放总线,并进入接收模式。主机释放总线时,会产生一由低电平跳变为高电平的上升沿,单总线器件检测到该上升沿后,延时15~60μs,接着单总线器件通过拉低总线60~240μsμ来产生应答脉冲。主机接收到从机的以应答脉冲后,说明有单总线器件在线,到此初始化完成。然后
2018-02-06 16:16:09
1563
原创 51单片机第七讲(串口)
一.相关概念 计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。 通信有并行通信和串行通信两种方式。在多微机系统以及现代测控系统中信息的交换多采用串行通信方式。二.并行通信和串行通信 并行通信通常是将数据字节的各位用多条数据线同时进行传送 。 并行通信特点:控制简单、传输速度快;但传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。 串行通信是将数据字节分成
2018-02-06 15:04:05
730
原创 51单片机第六讲(AD/DA转换)
1.计算机系统是一个数字系统、离散系统,而我们生活的外部世界是一个模拟系统。为使计算机系统能够了解外部世界,对外部事物进行处理,就必须有一个将模拟量转换为数字量,将数字量转换为模拟量的接口,这就是常说的 A/D和 D/A。2.PCF8591t芯片 PCF8591 特性 • 单独供电 • PCF8591 的操作电压范围2.5V-6V • 低待机电流 • 通过I²C 总线串行输入/输出
2018-02-06 14:14:50
15699
2
原创 51单片机第五讲(IIC)
一.什么是IIC IIC是集成电路总线,IIC总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。 二.要掌握IIC的通信协议,需要掌握以下几个函数的写法: 1.起始信号 i2c_Start() 2.终止信号 i
2018-02-06 13:53:29
9516
原创 树
1.定义 树是n个结点的有限集。n=0时成为空树。在任意一棵非空树中: 有且只有一个特定的称为根的结点; 当n>1时,其余结点可分为m(m>0)个互不相交的有限集,其中每一个集合本身又是一棵树,并且成为根的子树。 2.结点的分类 结点拥有的子树数称为结点的度。度为0的结点称为叶节点或终端结点;度不为0的结点称为非终端结点或分支结点。除根节点之外,分支结点也称为内部结点。树的度是树内各
2018-02-03 19:12:52
191
原创 队列的链式存储结构
1.定义 队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,我们把它简称为链队列。队头指针指向链队列的头结点,队尾指针指向终端结点。 空队列时,front和rear都指向头结点 2.入队操作 int QueneEnter(LinkQuene *Q, int e){ Node *s = (Node *)malloc(sizeof(Node))
2018-02-01 13:34:51
558
原创 交换两个数的几种方法
1.中间变量法 这种方法不多说#include int main(){ int a = 1; int b = 2; int t; t = a; a = b; b = t; printf("%d, %d\n", a, b);}2.通过指针交换两个数的值 通过传地址的方式来交换变量的值#include void
2018-01-31 20:36:21
375
原创 51单片机第四讲(LCD1602)
液晶屏需要按照芯片手册写程序: 直接上代码:#define LCDPORT P0sbit RS = P2^4;//定义的端口sbit RW = P2^5;sbit EN = P2^6;unsigned char my[8] = {0x10, 0x06, 0x09, 0x08, 0x08, 0x09, 0x06, 0x00}; //自己定义的字符(摄氏度)void bsp
2018-01-31 20:00:16
1018
原创 51单片机第三讲(矩阵键盘)
1.原理图 直接上代码:#define MKEYPORT P0unsigned char Mkeyscan(void){ unsigned char temp = 0; MKEYPORT = 0xf0; //四行全部开启扫描 if(MKEYPORT != 0xf0) //说明有按键按下 { MKEYPORT =
2018-01-31 19:52:06
796
原创 队列的顺序存储结构
1.队列的定义 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(FIFO)的线性表,允许插入的一端成为队尾,允许删除的一端成为队头。
2018-01-30 20:20:40
361
原创 利用51单片机做一个简易时钟
利用独立键盘,数码管完成一个简易的时钟,按键一可以修改时间,按键二可以设置闹钟,按键三进行加一操作,按键四进行减一操作。主函数:void main(){ bsp_init(); while(1) { TimeTim(); //正常时间在走 bsp_KeyScan(); //键盘扫描看哪个功
2018-01-28 20:01:48
58538
10
原创 51单片机第二讲(定时器中断)
1.中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断产生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A(中断返回),这一过程称为中断。 2.中断的优先级 51单片机里一共有5个中断源,分别是外部中断0,定时器0,外部中断1,定时器1,串口中断,中断优先级从大到
2018-01-28 19:03:34
19290
2
原创 栈的应用——四则运算表达式(逆波兰算法)
基本思路: 首先定义两个栈,一个存放数字,一个存放符号。 存放数字的栈: 只有当后面的一位是符号时才入栈,这是因为如果是一个多位数的情况。存放符号的栈: 1.当符号栈为空或者是a[i] 不是 ‘)’并且栈顶元素是‘(’时或者符号优先级大于栈顶元素的优先级时入栈。 2.当a[i] 是 ‘)’并且栈顶元素是‘(’时,弹出栈顶元素,即括号成对了,把左括号删除。 3.当a[i] 是 ‘)’
2018-01-27 15:18:43
413
原创 栈
一.栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端成为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈成为空栈。栈又称先进后出的线性表,简称为LIFO(Last In First Out)结构。栈的插入操作,叫做进栈,也称压栈,入栈。 栈的删除操作,叫做出栈,也称弹栈。 二.栈的链式存储结构 1.链栈的初始化: 首先要定义结构
2018-01-27 14:14:01
247
原创 51单片机第一讲(I/O口)
1.LED基本操作 当LED端口置低电平时LED点亮(有的单片机是置高电平点亮,根据单片机原理图进行判断) 点亮8个LED(接单片机P1口)void bsp_LedOn(void){ P1 = 0X00;}熄灭8个LEDvoid bsp_LedOff(void){ P1 = 0xff;}流水灯操作unsigned char i = 0;u
2018-01-27 11:45:47
2361
原创 线性表的顺序存储结构
1.顺序存储定义 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。2.顺序表的一些基本操作 (1)线性表的初始化 定义一个结构体,结构体里面存储数组的起始地址,线性表的大小和线性表的长度。int SeqInit(sq *s){ (*s) = (sq)malloc(sizeof(seq));//为定义的结构体指针初始化,分配一个地址
2018-01-25 20:36:42
173
原创 PCB绘制
一.PCB绘制所包含的四个文件 首先新建一个PCB工程 File->New->Project->PCBProject1.原理图文件 name.SchDoc File->new->Schmatic2.原理图库文件 name.SchLib File->New->Library->Schematic Library3.封装库文件 name.PcbLib File->New->Lib
2018-01-24 20:39:30
6103
原创 PCB的一些基础概念
1.什么是PCB? PCB(Printed Circuit Board)中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。2.元器件的分类 插装:组装到印制板上时需要在印制板上打通孔,引脚在电路板另一面实现焊接连接的元器件,通常有较长的引脚和较大的体积。贴装:组装到印制板上时无
2018-01-24 19:11:55
3633
原创 链表的一些基本操作
1.链表的初始化 链表有结点组成,每一个结点由数据域和指针域组成,指针域指向下一个结点,链表中有一个结点叫做头结点,指向头结点的指针成为头指针,初始化即为这个头指针分配一个地址。 int ListInit(LinkList *L){ (*L) = (LinkList)malloc(sizeof(Node));//为头指针分配了一个地址 if((*L) == NULL)
2018-01-23 20:35:17
175
原创 链表的一些基本接口
头文件:#ifndef _LINKLIST_H_#define _LINKLIST_H_#define SUCCESS 0#define FAILURE -1struct node{ int data; struct node *next;};typedef struct node Node;typedef Node *LinkList;int
2018-01-23 20:19:42
325
原创 学生管理系统(数组实现)
头文件:#ifndef _STUDENT_H_#define _STUDENT_H_#define N 100struct student { char name[20]; char sex; int id; int chinese; int math;};typedef struct student st;void Welcome();void Show();
2018-01-23 15:56:54
4309
2
原创 Linux的一些基础命令
首先是Linux的简介,Linux是一个操作系统,是一种作为用户和计算机之间接口的软件程序,与之相同的还有Unix和Microsoft Windows等。操作系统具有一些特点:命令解释、进程管理、内存管理、输入输出操作和外围设备管理和文件管理。Linux作为一款出色的操作系统,具有一些其他系统所不具备的特点,比如:开放性、多用户、多任务、出色的稳定性和速度性能、丰富的网络性能可靠的系统安
2018-01-21 16:39:29
166
原创 数据类型(枚举体)
#include enum weekday{ sun,//默认值等于0 mon, tue, wen, thu, fri, sat,};int main(){ enum weekday day = sat; printf("the enum length is %d\n", sizeof(enum weekday));//字节大小为4字节 printf("sat =
2018-01-21 16:10:39
498
原创 数据类型(联合体)
#include union test{ int a; int b;};int main(){ union test t; t.a = 1; printf("%d\n", sizeof(union test)); printf("%d\n", t.a); printf("%d\n", t.b); return 0;}联合体是一种公用内存空间的一种数据类型,由上
2018-01-21 15:52:02
3054
基于阿里云的即时通讯系统.zip
2021-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人