-
我们前边学串口通信的时候,比较注重的是串口底层时序上的操作过程,所以例程都是简单的收发字符或者字符串。在实际应用中,往往串口还要和电脑上的上位机软件进行交互,实现电脑软件发送不...
-
上一节介绍的是 I2C 每一位信号的时序流程,而 I2C 通信在字节级的传输中,也有固定的时序要求。I2C 通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一...
-
EEPROM 写数据流程
第一步,首先是 I2C 的起始信号,接着跟上首字节,也就是我们前边讲的 I2C 的器件地址,并且在读写方向上选择“写&r...
-
在向 EEPROM 连续写入多个字节的数据时,如果每写一个字节都要等待几 ms 的话,整体上的写入效率就太低了。因此 EEPROM 的厂商就想了一个办法,把 EEPROM 分页...
-
DS1302 的一条指令一个字节共 8 位,其中第 7 位(即最高位)固定为 1,这一位如果是0 的话,那写进去也是无效的。第 6 位是选择 RAM 还是 CLOCK 的,我前...
-
DS1302 我们前边也有提起过,是三根线,分别是 CE、I/O 和 SCLK,其中 CE 是使能线,SCLK 是时钟线,I/O 是数据线。前边我们介绍过了 SPI 通信,同学...
-
进行产品开发的时候,逻辑的严谨性非常重要,如果一个产品或者程序逻辑上不严谨,就有可能出现功能上的错误。比如我们 15.3.4 节里的这个程序,我们再回顾一下,当单片机定时器时间...
-
共用体除非必要,否则我们不推荐使用,枚举的用法比较简单,在本书 19 章的项目实践中有很好的示例,这节课我们先来练习一下结构体的使用。下边这个程序的功能是一个带日期的电子钟,相...
-
红外线是波长介于微波和可见光之间的电磁波,波长在 760 纳米到 1 毫米之间,是波形比红光长的非可见光。自然界中的一切物体,只要它的温度高于绝对零度(-273)就存在分子和原...
-
家电遥控器通信距离往往要求不高,而红外的成本比其它无线设备要低的多,所以家电遥控器应用中红外始终占据着一席之地。遥控器的基带通信协议很多,大概有几十种,常用的就有 ITT 协议...
-
DS18B20 是美信公司的一款温度传感器,单片机可以通过 1-Wire 协议与 DS18B20 进行通信,最终将温度读出。1-Wire 总线的硬件接口很简单,只需要把 DS1...
-
从我们已经学到的知识就可以了解到,单片机是一个典型的数字系统。数字系统只能对输入的数字信号进行处理,其输出信号也是数字的。但是在工业检测系统和日常生活中的许多物理量都是模拟量,...
-
我们前边学习 UART、I2C、SPI 这些通信协议,都是最底层的协议,是“位”级别的协议。而我们在学习 13 章做实用串口通信程序的时候,我们通过串口...
-
时钟原理介绍
先来第一节,动态时钟的原理设计介绍以及时钟文化的介绍。
大家知道现今,高精度的计时工具大多数都使用了...
-
typedef enum{ERROR = 0,SUCCESS = !ERROR} ErrorStatus;这个代码怎么解释?
这个语句的作用是为数据类型enum{ERROR = ...
-
关于程序的执行,以前想的不多,没有意识到一个程序在运行时,从哪里读指令,数据又写在哪里。
最近在看CSAPP时这个念头经常在脑袋中晃荡。
从单片机上...
-
所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们...
来自
C语言|by
期待 |发表时间 2015-09-17
|0个回复
-
有一例子:将switch中的default中的字母‘l’打成数字‘1’能顺利通过编译,没有提示错误,绝大多数lint程序都无法检测到...
来自
C语言|by
期待 |发表时间 2015-09-17
|0个回复
-
许多初学者对C中的void 和void 的指针类型不是很了解。因此常常在使用上出现一些错误,本文将告诉大家关于void 和void 指针类...
来自
C语言|by
期待 |发表时间 2015-09-17
|0个回复
-
在实际问题中,一组数据往往具有不同的数据类型。例如, 在学生登记表中,姓名应为字符型;学号可为整型或字符型; 年龄应为整型;性别应为字符型...
来自
C语言|by
期待 |发表时间 2015-09-17
|0个回复