- 博客(9)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 点亮一个LED灯
点亮LED灯一、硬件知识准备 1、1发光二极管1、2硬件连接图1、3单片机I/O口工作原理二、软件代码实现2、1点亮一个LED方法一#include //包含头文件,一般情况不需要改动, //头文件包含特殊功能寄存器的定义sbit LED=P1^0; //
2015-10-14 20:50:34 795
原创 C语言中关于.h文件和.c文件详细解析
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可
2015-08-08 16:20:14 634
原创 详解i2c(三)c语言实现
为了加深对I2C总线的理解,用C语言模拟IIC总线,边看源代码边读波形:如下图所示的写操作的时序图: 读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序”完整的程序如下: #include#define uchar unsigned char#define uint unsigned int#defi
2015-08-07 14:10:11 5646 1
原创 详解I2C(二)时序
一、协议 1.空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 2.起始位与停止位的定义: 起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低
2015-08-07 14:07:54 830
原创 详解I2C(一)
概述:I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一种两线接口。I²C 只是用两条双向的线,一条 Serial Data Line (SDA) ,另一条Serial Clock (SCL)。SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿
2015-08-07 14:04:24 542
原创 堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它
2015-08-07 12:29:12 285
原创 程序员,为什么千万不要重写代码?
在程序员的圈子里有一个话题经久不衰:程序员入职新公司后接手已有的代码,怎么处理?程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。是的,他们决不会满足于简单的增量劳动。或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补,他们认为旧代码简直一团糟。但是,事实上真是这样吗?你之所以认为旧代码一
2015-07-29 13:42:42 555
原创 怎么样哄好程序猿?真是醉了
作为一名运营人员,老板让我往东,我是不能往西的。老板让我写一篇《如何哄好程序猿?》,我是没有理由拒绝的。我确实也没有拒绝,但在我询问了众多程序猿之后,我后悔了,我这辈子从未如此后悔过!我后悔走进了程序猿们的内心深处,看到如此神奇的心理活动。上面这张图,我以为能完美地诠释程序猿的终极梦想。然而我错了。。。程序猿1:图片右一妹纸我喜欢~程序猿2:图片中的显示器我
2015-07-29 13:38:39 566
原创 I2C协议
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet
2015-07-29 08:28:12 398
关于Linux软件包安装问题?
2015-11-13
延时函数时间计算问题
2015-07-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人