zoukankan      html  css  js  c++  java
  • 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写的逻辑是:

    1. 主机检测到IRQ低电平
    2. 主机使能CSn低
    3. 延时50us在主机读取数据前
    4. 主机传输头帧的四个字节
    5. 延时50us
    6. 主机传输剩下的数据包

    一般的主机写操作

    1. 主机使能CSn低,等待IRQ变低
    2. CC3000的IRQ置低,
    3. 主机开始写传输
    4. 最后一个字节,CSn置高
    5. IRQ变高

    主机读操作:

    主机读初始化被CC3000设备,通过设置IRQ低电平在总线处于挂起状态时。

    1. CC3000设备申明IRQ低电平
    2. 主机设置CSn第电平
    3. 主机传输头包中的三个字节:读操作位,两个busy
    4. CC3000设备返回主机要的数据
    5. 读结束操作后,主机使能CSn高电平
    6. CC3000设置IRQ高电平

  • 相关阅读:
    内存分配问题
    C++ assert 的一点说明
    强大的stringstream
    C++中随机数
    C++ 中new
    C++ 中string 详解 转载自 博客园
    未命名名字空间
    使用ifstream和getline读取文件内容[c++]
    6.bootstrap练习笔记-缩略图和list-group
    3.bootstrap练习笔记-媒体内容
  • 原文地址:https://www.cnblogs.com/NL34/p/3537833.html
Copyright © 2011-2022 走看看