-
UART、I2C和 SPI 是单片机系统中最常用的三种通信协议。前边我们已经学了 UART 和I2C通信协议,这节课我们来学习剩下的 SPI 通信协议。
SP...
-
电视频道记忆功能,交通灯倒计时时间的设定,户外 LED 广告的记忆功能,都有可能用到 EEProM 这类存储器件。这类器件的优势是存储的数据不仅可以改变,而且掉电后数据保存不丢...
-
在向 EEProM 连续写入多个字节的数据时,如果每写一个字节都要等待几 ms 的话,整体上的写入效率就太低了。因此 EEProM 的厂商就想了一个办法,把 EEProM 分页...
-
我们读取 EEProM 的时候很简单,EEProM 根据我们所送的时序,直接就把数据送出来了,但是写 EEProM 却没有这么简单了。给 EEProM 发送数据后,先保存在了 ...
-
EEProM 写数据流程
第一步,首先是 I2C 的起始信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地址,并且在读写方向上选择“写&r...
-
在实际的应用中,保存在单片机 RAM 中的数据,掉电后就丢失了,保存在单片机的FLASH 中的数据,又不能随意改变,也就是不能用它来记录变化的数值。但是在某些场合,我们又确实需...
-
上一节介绍的是 I2C 每一位信号的时序流程,而 I2C 通信在字节级的传输中,也有固定的时序要求。I2C 通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一...
-
比如说给定字符串“ABCD"通过循环移位是否可以包含“CDAB”。
有两种方法,一种方法就是通过创建另外一个字符串,这个字符串是...
-
1 对sizeof 的理解:
例子1:
void main()
{
int a = 2;
...
-
问题:
“Segmentation violation”, “Bus error” 和“General Protect...
-
有两个程序Protoize 和unProtoize 可以在有原型和无原型的函数定义和声明之间相互转换。
这些程序不能完全完成“经典” C 和...
-
唉, 在C 里没有一个标准且可移植的方法。在标准中跟本就没有提及屏幕和键盘的概念, 只有基于字符“流” 的简单输入输出。在某个级别, 与键盘的...
-
1. 平时进行函数声明的时候,无参数的函数应该声明成f(void)
C99 P119:
10 The special case of an unnamed parameter ...
-
1. 什么是空指针常量(null pointer constant)?
[6.3.2.3-3] An integer constant expression with the v...
-
【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语...
-
其实,用链表与文件写学生管理系统内容可分为两大模块:
模块一:一个完整的创建、遍历、添加、删除、修改的链表;
模块二:读取/写入数据到文件。
模块一
一个链表,主要是mal...
-
【unsigned】
16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存...
-
如果有很强劲的逻辑能力,或者是构思已久的话,你可以写一个很复杂的表达式,但为了使代码方便阅读,最好一个表达式不要超过3个运算符。(这里的语句,并不包含代码块),使用自增或者自减看起...
-
void关键字的使用规则:
1. 如果函数没有返回值,那么应声明为void类型;
2. 如果函数无参数,那么应声明其参数为void;
3. 如果函数的参数可以是任...
-
前几章我们学了一种通信协议叫做 UART 异步串行通信,这节课我们要来学习第二种常用的通信协议 I2C。I2C 总线是由 PHILIPS 公司开发的两线式串行总线,多用于连接微...