15. 钛极OS之TiSPIMaster

钛极OS之TiSPIMaster

 

SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议。具体可参考https://baike.baidu.com/item/SPIhttps://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

TiJOS Framework提供TiSPIMaster来支持SPI主机功能,其将SPI Master按照port分组,共支持256组,组号范围0-255,即:port0-port255;每组都支持指定模式的单独设置。

 

Java包

tijos.framework.devicecenter

 

TiSPIMaster工作模式定义

项目参数说明
工作模式MODE0/MODE1/MODE2/MODE3模式0/模式1/模式2/模式3
通道类型TYPE_SIO/TYPE_DIO/TYPE_QIO/TYPE_PIO单通道/双通道/四通道/并行通道
位传输模式ORDER_MSB/ORDER_LSB高位先传输/低位先传输
波特率1/2/3...1Mbps/2Mbps/3Mbps...


TiSPIMaster方法定义

TiSPIMaster类中主要的方法:

 

方法说明
TiSPIMaster open(int portID)通过指定port打开指定SPI Master,返回TiSPIMaster对象
void close( )关闭已打开的TiSPIMaster实例
void setWorkParameters(int mode, int type, int order, int baudRate)设置工作模式,类型、位传输模式、波特率
void selectSlave(boolean enable)从机选择使能控制
int read(byte[] data, int offset, int len)读取数据,返回实际读取长度
int write(byte[] data, int offset, int len)写入数据,返回实际写入长度


TiSPIMaster类中他方法的技术说明请参考TiJOS Framework说明文档。

 

TiSPIMaster对象创建与销毁

TiSPIMaster对象的创建需要调用open静态方法,传入指定port参数,返回创建的接口对象。

TiSPIMaster对象的销毁需要调用close方法。

 

  1. ...
  2. int spiPort0 = 0;
  3. TiSPIMaster spi0 = TiSPIMaster.open(spiPort0);
  4. ...
  5. ...
  6. ...
  7. spi0.close();

复制代码

TiSPIMaster模式设置

TiSPIMaster模式设置通过setWorkParameters方法设置,设置参数为工作模式、通道类型、波特率、位传输模式,波特率。

 

  1. ...
  2. //模式3, 单通道类型, 高位先传, 8Mbps
  3. spi0.setWorkParameters(TiSPIMaster.MODE3, TiSPIMaster.TYPE_SIO, TiSPIMaster.ORDER_MSB, 8); 
  4. ...

复制代码

注意:模式支持受平台特性限制,设置时须了解硬件平台特性。

 

TiSPIMaster输入输出

TiSPIMaster的输入输出操作通过selectSlave、read和write方法完成。

 

  1. ...
  2. spi0.selectSlave(true);
  3. byte[] dataBuffer = {1, 2, 3, 4, 5};
  4. int writeLength = spi0.write(dataBuffer, 0, dataBuffer.length);
  5. int readLength = spi0.read(dataBuffer, 0, dataBuffer.length);
  6. spi0.selectSlave(false);
  7. ...

复制代码


更多详细介绍请见钛云物联官网:www.tijos.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值