(1)问题:服务模块如何获取真实环境信息?
(2)外设简介
(3)设备驱动开发基础
- GPIO
- GPIO即: General-Purpose Input/Output,通用型输入输出
- 在硬件设备上,GPIO通常表现为引脚(Pin),输出为高电平或低电平
- 程序设计中,可通过代码控制指定GPIO的输出,或接收外部输入
- GPIO是硬件与外部设备的接口,常用于对外部设备进行控制
(4)GPIO信号输出
- 当GPIO 作为输出使用时,输出的电信号为高电平(1)或者低电平(0),因此,只要在电路上稍加设计就可以接入外设(如:LED灯,电动机,等),并通过程序控制外设的状态。
(5)GPIO应用方式
- 基础功能
- 仅使用GPIO引脚对外输出控制信号(0或1)
- 复用功能
- 通过GPIO基础功能实现的设备通信方式(如:I2C)
(6)GPIO基础功能示例
(7)什么是I2C?
-
I2C即: Inter - Integrated Circuit , —种两线式串行总线
-
I2C常用于连接微控制器及其外围设备(如:用于连接传感器)
-
I2C可通过两个GPIO 引脚实现物理连接及数据通信
-
如:
-
GPIO0对应I2C1_SDA:I2C数据传输线
-
GPIO1对应I2C1_SCL:I2C时钟信号线
-
(8)深入浅出I2C通信
- I2C总线上可以挂载一个主设备和多个从设备
- 主设备负责调度总线,决定某个时间和其中一个从设备通信
- 每个从设备在I2C总线上都有唯一的地址
- 主设备寻址时,8位数据中高7位是从设备地址,最低位表示读写
- 每次数据通信,主从设备之间都会发送起始和结束信号
(9)大道至简:关于12C应用的理解
- I2C的本质是两根用于数据传输的连线(微控器→传感器)
- I2C编程是特殊的GPIO编程(GPIO配置后进行数据读写)
- 开发板上的l2C与集成外设固定连接(如:温湿度传感器)
- I2C应用的终极表现形式只是简单的数据读写
(10)I2C应用原理
- 初始化GPIO0和GPIO1引脚
- 设置引脚功能为I2C1_SDA 和I2C1_SCL
- 初始化I2C1(设置波特率)
(11)I2C应用示例
(12)编程实验:服务模块的完善
https://download.csdn.net/download/qq_38426928/88227045
(13)未来可做的扩展。。。
- 提供更多不同类型的服务(如:图像采集与识别服务)
- 提供设备主动服务模式及服务联动模式
- 开发手机客户端,通过手机终端使用服务
- 。。。