自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 10秒定时炸弹

#include#define DataPort P0 sbit LATCH1=P2^0;sbit LATCH2=P2^1;sbit SPK = P1^0;void DelayUs2x(unsigned char t);//函数声明 void DelayMs(unsigned char t);unsigned char code dofly_DuanMa[10]={0x3f,

2017-01-24 08:57:42 795

原创 1602LCD显示

#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#includesbit RS = P2^4; //定义端口 sbit RW = P2^5;sbit EN = P2^6;#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #de

2017-01-23 13:26:18 850

原创 电子表(开关,复位,调时)

#include#define DataPort P0 sbit key_up = P1^0;sbit key_down = P1^1;sbit key_left = P1^2;sbit key_right = P1^3;sbit LATCH1=P1^6;sbit LATCH2=P1^7;unsigned char code dofly_DuanMa[10]={0x3f,

2017-01-22 19:30:43 1018

原创 时分秒

#include#define DataPort P1 sbit LATCH1=P2^2;sbit LATCH2=P2^3;unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 共阴显示段码值0~9unsigned char code

2017-01-21 23:16:01 713

原创 1s定时器

#include#define DataPort P0 sbit LATCH1=P2^2;sbit LATCH2=P2^3;//unsigned char code dofly[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳unsigned char code dofly_DuanMa[10]={0x3f,0x0

2017-01-20 18:48:42 850

原创 单片机LED灯的使用

#include/*void delay(unsigned char i)//使用循环语句,实现延时{unsigned char j;unsigned char k;for(j = 0; j for(k = 0; k }*/void delay(unsigned int i);//延时函数,i最大取值65535 ,最大延时0.65535svoid fun1(vo

2017-01-19 16:04:57 593

原创 80c51单片机通用I/O口

80C51单片机并行输入/输出口        80C51单片机含有4 个8位并行I/O口P0、P1、P2和P3。每个口有8个引脚,如图2-1所示,共有32个I/O引脚,每一个并行I/O口都能用作输入或输出。各口的第一、第二功能如下:       I/O口   引脚      第一功能      第二功能       P0口   P0.0~P0.7  输入与输出    分时的传送地

2017-01-18 18:21:29 17328

转载 基本l/O操作

在学习C语言的时候,基本的输入输出是非常重要的,因为我们时常要接收用户的输入,而且时常要将结果输出到屏幕,因此非常有必要注重地学习一下。最常用的两个基本IO函数莫过于 printf()  和 scanf() 了,下面首先来详细地介绍一下它们。来看第一个示例代码:[cpp] view plain copy print?//e

2017-01-14 19:48:22 675

转载 C语言数据类型

C语言是一种强数据类型编程语言,换句话讲,不像弱数据类型的语言比如shell脚本语言那样,没有特殊的变量数据类型,统统都是字符串。而C语言是有严格的数据类型的规定的。来看一下下面这段代码:[cpp] view plain copy print?//example2.c  #include     int main(void)  

2017-01-13 11:03:37 513 1

原创 linux 基本命令使用

linux 基本命令 ls     (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@linux ~]# ls [--color={none,auto,always}] 目录名称 [root@linux ~]# ls [--full-time] 目录名称 参数:

2017-01-12 10:54:33 359

原创 面试题3

华为笔试题 1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值(3分)int a = 4;(A)a += (a++); (B) a += (++a) ;(C) (a++) += a;(D) (++a) += (a++);a = ?答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;改后答案依次为9,10,10,112.某3

2017-01-11 15:07:08 380

原创 面试题2

想成为嵌入式程序员应知道的0x10个基本问题:预处理器(preprocessor)1 .用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_pER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2)懂

2017-01-10 11:27:04 277

原创 面试题

1.extern的作用自己理解:应该需要区分extern在C语言中和C++语言中的作用,C语言中extern声明的函数和变量可以被该文件外部模块引用,C++语言中除了该作用还可以声明extern “C”声明一段代码编译连接的方法为C语言的方法。参考:其实extern的百度词条解释的很清楚,具体的也是跟我上面自己理解差别不是很大。(a) extern是C/C++语言中声明

2017-01-09 15:35:17 230

原创 快速找到未知长度单链表的中间节点

普通的方法很简单,首先遍历一遍单链表以确定单链表的长度L。然后再次从头节点出发循环L/2次找到单链表的中间节点。算法复杂度为O(L+L/2)=O(3L/2)。 能否再优化一下这个时间复杂度呢?有一个很巧妙的方法:设置两个指针*search、*mid都指向单链表的头节点。其中*search的移动速度是*mid的2倍。当*search指向末尾节点的时候,mid正好就在中间了。这也是标尺

2017-01-08 13:05:46 442

原创 用递归法实现二分查找

#include void Search(int p[],int low,int height,int key) { int middle=(low+height)/2; if(low>height) { printf("没有该数!"); return; } if(p[middle]=

2017-01-07 10:39:59 1002

转载 判断一个单链表是否有环及环的链接点

给定一个单链表,只给出头指针h:1、如何判断是否存在环?2、如何知道环的长度?3、如何找出环的连接点在哪里?4、带环链表的长度是多少? 解法:1、对于问题1,使用追赶的方法,设定两个指针slow、fast,从头指针开始,每次分别前进1步、2步。如存在环,则两者相遇;如不存在环,fast遇到NULL退出。2、对于问题2,记录下问题1的碰

2017-01-06 11:51:04 293

原创 消息队列

5 消息队列5.1 消息队列定义消息队列提供一种在两个不相关的进程之间传递数据的相当简单且有效的方法。消息队列独立于发送和接收进程存在,消除了同步命名管道的打开和关闭时可能产生的一些困难。(具体函数自行查阅)5.2 函数msgget5.3 函数msgsnd5.4 函数msgrcv5.5 函数msgctl

2017-01-05 12:19:51 274

原创 共享内存

4 共享内存4.1 共享内存定义共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式,它允许两个不相关的进程访问同一个逻辑内存。共享内存是由IPC为进程创建的一个特殊的地址空间,它将出现在该进程的地址空间中。其他进程可以将同一段共享内存连接到它们自己的地址空间中。对共享内存访问的同步控制必须由程序员来操作。4.2 函数shmget得到一个共享内存标识符或创

2017-01-04 09:43:13 318

原创 信号量

3 信号量3.1 信号量定义最简单的信号量是一个只有0与1两个值的变量,二值信号量。这是最为通常的形式。具有多个正数值的信号量被称之为通用信号量。在本章的其余部分,我们将会讨论二值信号量。[cpp] view plain copy假定我们有一个信号量变量sv,两个操作定义如下:  P(sv)    如果sv大于0,减小sv。如

2017-01-03 09:40:05 292

原创 管道

管道管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将其分为:无名管道和命名管道。管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道。2.1 编程

2017-01-02 12:38:51 737

原创 进程通信之信号量

1 信号1.1函数signal【注册信号处理函数,不推荐使用】[cpp] view plain copy函数原型:  void (*signal (int signo, void (*func)(int))) (int);  参数说明:  signo:表示准备捕获或忽略的信号值  func:处理该信号应调用的函

2017-01-01 09:17:08 290

Linux c编程一站式学习(中文版)

本人已细心阅读过,对于程序在PC下实现的机制叙述的比较细致,适合入门嵌入式开发学习,主要内容:部分1,C语言入门;部分2,C语言本质;部分3,linux系统编程。

2017-11-21

空空如也

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

TA关注的人

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