Android Things——SPI通信

1 SPI

1.1 概念

SPI是串行外设接口(Serial Peripheral Interface)的缩写,SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。SPI的原理以及通信过程不是本文要研究的内容,如有兴趣可以自行查找资料。

1.2 特性

(1)SPI总线是一种同步的串行接口: SPI是属于串行通信的一种,这就意味着SPI依赖于共享的时钟信号来同步设备之间的数据传输。控制时钟信号的设备被称为Master。其它所有连接的外设被认为是Slaves。每个设备连接到同一组数据信号以形成总线。从理论上讲,SPI数据传输率是仅限于Master切换时钟信号的快慢。时钟速度通常在16MHz到25MHz范围。
  (2)SPI支持全双工数据传输:全双工数据传输意味着Master和Slave可以同时交换数据。为了支持全双工传输,总线必须提供下列单独的信号,使得SPI最少四线接口:

Master出Slave入(MOSI);
  Mater入Slave出(MISO);
  共享时钟信号(CLK);
  共同的接地参考(GND);

(3)SPI支持同一总线连接多个从设备
  在SPI通信中,Slave设备采用硬件寻址方式。每个Slave都需要外部芯片选择信号,来让Master定位特定的设备作为数据传输的目标。如果仅仅使用一个Slave这个信号就不必须。

SPI引脚图:
在这里插入图片描述

2 Android Things

2.1 概念

Android Things是谷歌发布的一套帮助开发者在安卓端开发嵌入式设备的开发工具。 Android Things将通信底层过程封装为应用层可以调用的API方法,大大简化了Android平台下开发嵌入式设备的过程。

2.2 特性

(1)单一自启动APP,通常设备会只运行单一的程序,即开发者的APP会自动启动,系统APP不会呈现出来。
  (2)显示可选,设备可以没有屏幕,通过按钮、触摸、LED灯、语音或其他形式与用户交互。
  (3)提供了通过I/O驱动外设的接口,让开发者可以与传感器和执行器进行通讯交互,支持GPIO、PWM、I2C、SPI和UART。
  (4)用户驱动API,用户驱动继承Android Framework Services,允许APP将硬件事件注入到Framework中,使得其他APP可以使用标准的Android API访问。
  (5)物联网云,通过Google物联网云平台,开发者可以方便且安全的连接、管理数百万计遍布全球的设备,并从中获取数据。Google物联网云平台和一些其他的Google服务,提供了包括数据采集、处理分析和可视化物联网数据的完整解决方案。
  Android Things架构图:
  在这里插入图片描述

3 Android SPI开发

Android SPI这里指的是调用Android Things的API开发程序。值得注意的是Java中也有一套简称为SPI的机制,全名为Service Provider Interface,Java中的SPI是为某个接口寻找服务的机制,有点类似IOC的思想,将装配的控制权移交给ServiceLoader。与本文所说的SPI完全是两个概念。

3.1 申请权限

使用 Android Things进行开发时需要在Androidmanifest.xml添加如下权限。

<uses-permission android:name="
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值