CC3000 SPI接口编程介绍
CC3000 SPI 操作:
CC3000的SPI 是基于五根线CLCK,CSn,IRQ,MISO,MOSI;通信模式如下图:

CLCK:时钟频率0-26M从主机到从机,提供SPI接口时钟
CSn:低电平激活从主机到从机,指示主机想和CC3000设备通信
MOSI:数据线,从主机到从机
IRQ:中断信号,来自从机,当没有数据传输时挂起,当低电平时指示CC3000设备要传输数据到主机
MISO:从几到主机
处理协议:
SPI接口用着去和CC3000设备通信,所有的数据被发送和接收通过16bit的SPI接口,每一个数据包包含了5字节的头,用户数据和衬底字节,总的数据长度是16bit,第一个字节的头是读写操作位,紧接着的是两字节的长度字节,两个忙标识字节。数据有效载荷字节紧跟着头帧,补充字节被添加当有效载荷的字节长度是奇数时

主机写处理
主机上电,从新设置写过程时,主机第一次写处理有些微小的不同,头结构式独立的不管是不是第一个写操作

第一个主机写操作:
主机SPI写的逻辑是:

- 主机检测到IRQ低电平
- 主机使能CSn低
- 延时50us在主机读取数据前
- 主机传输头帧的四个字节
- 延时50us
- 主机传输剩下的数据包
一般的主机写操作

- 主机使能CSn低,等待IRQ变低
- CC3000的IRQ置低,
- 主机开始写传输
- 最后一个字节,CSn置高
- IRQ变高
主机读操作:
主机读初始化被CC3000设备,通过设置IRQ低电平在总线处于挂起状态时。
- CC3000设备申明IRQ低电平
- 主机设置CSn第电平
- 主机传输头包中的三个字节:读操作位,两个busy
- CC3000设备返回主机要的数据
- 读结束操作后,主机使能CSn高电平
- CC3000设置IRQ高电平

CC3000 SPI接口编程介绍的更多相关文章
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...
- flash读写学习笔记与spi接口及简单测试验证(三)
FPGA中的视频图像资源,以及想要永久存储的程序都是要存储在flash中,flash是FPGA一个不可缺少的部分,flash的种类有很多,根据winbond公司的128Mbit Qual SPI接口的 ...
- CC3000 主机驱动API介绍
CC3000作为是一种简单集成,简单实用的无线宽带设备,她集成了完整的802.11协议栈,802.11个人安全请求:IP网络协议栈,CC3000主机驱动对CC3000硬件访问时很轻松的.CC3000逐 ...
- Blackfin DSP(五):BF533的SPI接口
533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output ...
- SAP接口编程 之 JCo3.0系列(01):JCoDestination
SAP接口编程 之 JCo3.0系列(01):JCoDestination 字数2101 阅读103 评论0 喜欢0 JCo3.0是Java语言与ABAP语言双向通讯的中间件.与之前1.0/2.0相比 ...
- C语言与MATLAB接口 编程与实例 李传军编着
罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...
- Mybatis接口编程原理分析(三)
前面两篇博客Mybatis接口编程原理分析(一)和Mybatis接口编程原理分析(二)我们介绍了MapperProxyFactory.MapperProxy和MapperMethod的操作及源码分析, ...
- Mybatis接口编程原理分析(二)
在上一篇博客中 Mybatis接口编程原理分析(一)中我们介绍了MapperProxyFactory和MapperProxy,接下来我们要介绍的是MapperMethod MapperMethod:它 ...
- Java面向接口编程,低耦合高内聚的设计哲学
接口体现的是一种规范和实现分离的设计哲学,充分利用接口可以极大的降低程序中各个模块之间的耦合,提高系统的可维护性以及可扩展性. 因此,很多的软件架构设计理念都倡导"面向接口编程"而 ...
随机推荐
- 开启curl扩展(转)
一.win7系统32位, apache2.2, php5.2升级到5.4. 这个比较容易: 1. phpinfo发现没有加载curl; 2. 在php.ini中设置extension_dir 指向e: ...
- 15 sql base line 工作机制
<个人Configuration> 正常配置一下, 就OK了, 不用理了, oracle 11g 默认启动 发展: .从Oracle的发展角度来看,估计这种方法是Oracle发展和改进的方 ...
- (五)AOS编程
一.LOG AOS_LOG(index) //断言,会打印出断言传进来的值 AOS_ASSERT(0); //只会打印断言位置 return AOS_FAIL; //返回错误,函数 ...
- iframe 根据加载内容调整高度
iframe标签代码 <iframe id="checkListFrame" name="checkListFrame" src="Ind ...
- JavaScript的Date对象
整理了一些JavaScript时间的对象,如下所示: toLocaleString()得到当前的年月日和时间的字符串 toLocaleTimeString() 得到当前的时间字符串 toLocaleD ...
- uva 1658(最小费用最大流)
题意:一个带权有向图,求起点到终点的两条路径权值之和最小,且两条路径没有公共点(除起点,终点): 分析:拆点法,将u拆成u和u',u-u'容量为1,费用为0,这样就能保证每个点只用一次,起点s-s'容 ...
- spring boot注解 --@EnableAsync 异步调用
EnableAsync注解的意思是可以异步执行,就是开启多线程的意思.可以标注在方法.类上. @Component public class Task { @Async public void doT ...
- Hadoop 2.2.0 4结点集群安装 非HA
总体介绍 虚拟机4台,分布在1个物理机上,配置基于hadoop的集群中包括4个节点: 1个 Master, 3个 Salve,i p分布为: 10.10.96.33 hadoop1 (Master) ...
- 访问class中的保护对象的方法
#include <windows.h>#include <iostream> using namespace std; DWORD WINAPI ThreadProc(LPV ...
- SharePoint 2016 Beta 2 安装体验
博客地址:http://blog.csdn.net/FoxDave 最近忙碌了一段时间,2016正式版快要发布了,想尽快熟悉熟悉.2016不再提供免费版Foundation的支持,只有Server版本 ...