SPI通信协议技术说明文档

简介:
SPI通信是串口外设接口的缩写。Motorola公司推出的一种同步串行接口技术,是一种高速的、全双工、同步的通信总线。四根线分别为MOSI、MISO、CLK、CS(片选)。

网络拓扑:

数据传输

Data transfer starts with the falling edge of the CS signal. Execution of new input data is enabled on the rising edge of the CS signal. Data must appear at DI synchronized to CLK and is accepted on the falling edge of the CLK signal.LSB (bit 0, SRR) has to be transferred first.The output data at DO is enabled on the falling edge of CS. Output data will change their state with the rising edge of CLK and stay stable until the next rising edge of CLK appears. When CS is high, pin DO is in a tri-state condition. LSB (bit 0,TP) is transferred first.




总结

  可靠性差,无应答机制,无法确认数据是否正确接收到数据。

源码

void DriveSpi(void)
{uint16_t i,j;spiData[0]  = 0;spiData[13] =1;     // OLDspiData[14]=1;      // SCTspiData[15] = 1;    // SE// for(j=0;j<12;j++);    //10us least/*if(SO[13]==1||SO[14]==0||SO[15]==1){if(SO[13]==1)spiData[13]=0;elsespiData[13]=1;if(SO[14]==1)spiData[15]=1;elsespiData[15]=0;}*/CSB_L;for(i=0;i<16;i++){SCK_H;if(spiData[i]){MOSI_H;}else{ MOSI_L;}if(MISO) {SO[i]=1;}else {SO[i]=0;}for(j=0;j<3;j++);  // 6SCK_L;for(j=0;j<3;j++);  // 6}for(j=0;j<2;j++);CSB_H;
}

SPI通信协议技术说明文档相关推荐

  1. c4d python使用方法_c4d 有没有python的技术说明文档_c4d python插件安装教程

    用python编程操作C4D和直接使用C4D进行操作有什么区别? 没什么区别吧.其是C4D提供了python绑定,方便python的人开发方便. 很多软件都提供了一言绑定或者自己的语言,比如autoc ...

  2. 没有技术说明文档的开源都是耍流氓:微软Roslyn编译即服务在CIIP中具体应用(上)...

    前段时间我发布了 github开源:企业级应用快速开发框架CIIP WEB+WIN+移动端,很多园友们都表示支持并与我探讨相关技术问题,上篇中我也承诺会写相关的技术文章,本篇就来介绍一下建模模块中使用 ...

  3. 【原创】SQlServer数据库生成简单的说明文档小工具(附源码)

    这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到 Word中,可以方便开发人员了解数据库的信息或写技术 ...

  4. 软件工程专业期末项目开发全流程模拟日志《需求规格说明文档》

    引言 这次把送大家的话写在最前面:你所见到的惊艳,都曾经历过平庸的历练. 耗时一周,完成了需求工程. 概论 <需求规格说明文档>是整个需求工程中最后生成的文档,编写本文档,旨在将用户需求高 ...

  5. 微信JSSDK说明文档

    微信JSSDK说明文档 转 微信JSSDK说明文档 2015年12月02日 09:41:34 panpanhm91 阅读数:10073 查看全文 http://www.taodudu.cc/news/ ...

  6. 分享个人预算系统源码(含说明文档)

    一. 描述 本文档用于简单描述预算系统使用操作过程. 预算系统可用于账户金额的管理,包括账户管理,支出记录,收入记录,支出分类,收入分类,转账,封帐,支出配置,存储计划,计划管理. 源代码和文档为个人 ...

  7. 【资源推荐】良心之作!超过 10000+ 的互联网团队正在使用的在线 API 文档、技术文档工具...

    搞开发的同学都知道一个好的 API 文档是有多重要! 每当接手一个别人开发好的项目,看着那些没有注释的代码,真的头大. 程序员都很希望别人能写技术文档,因为可以提高自己开发的效率,而往往自己却很不希望 ...

  8. 良心之作!超过 10000+ 的互联网团队正在使用的在线 API 文档、技术文档工具

    搞开发的同学都知道一个好的 API 文档是有多重要! 每当接手一个别人开发好的项目,看着那些没有注释的代码,真的头大. 程序员都很希望别人能写技术文档,因为可以提高自己开发的效率,而往往自己却很不希望 ...

  9. 这谁写的技术文档?我想锤死他...

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 很多技术人自己非 ...

  10. Java Servlet API中文说明文档

    Java Servlet API中文说明文档 目 录 1.... Servet资料 1.1      绪言 1.2      谁需要读这份文档 1.3      Java Servlet API的组成 ...

最新文章

  1. 使用Python制作酷炫的二维码
  2. 函数计算新功能-----支持C#函数
  3. 数据结构于算法—线性表
  4. 计算机图形学在数学中的应用,计算机图形学的数学工具与C#实现:数学C
  5. java连接mongodb_第78天: Python 操作 MongoDB 数据库介绍
  6. Java千万数据导入mysql_java之5分钟插入千万条数据
  7. 前端学习(595):使用network进行详细分析
  8. leetcode报错runtime error: reference binding to null pointer of type ‘std::vector<std::__cxx11::basic_
  9. mysql gui tools ojdbc14.jar_[java]OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]
  10. facebook 广告目标详解
  11. cookie、session和token
  12. windows,安装yafu,RSA应用
  13. GRBL分析:gcode解释器(二)
  14. 《电磁场与电磁波》课程笔记(一)——矢量与坐标系
  15. 苹果雪豹系统_AI知识图谱,让我撸到了一只天山上的雪豹
  16. 2018年俄罗斯世界杯之Java数据爬虫(二)
  17. Smartforms 总计小计
  18. 【PyCharm中PIL/Pillow的安装】
  19. python 给文本加下划线_python-matplotlib图例中的下划线文本
  20. mldonkey基本使用

热门文章

  1. DNS中NS和SOA区别
  2. HTML表格实现固定表头 内容滚动
  3. 计算机考研408专用笔记-----计算机组成原理
  4. win10专业版占多少空间_win10正常占用磁盘多大空间?
  5. 格式转换器怎么修改视频文件?把kux格式转换成mp4的技巧
  6. ①ESP8266-wifi模块使用方法
  7. sklearn实现lda模型_LDA模型实战常用知识点
  8. 【游戏策划】【碎碎念】关于横版跳跃类游戏的关卡设计
  9. 85 缓存, 验证码 序列化
  10. linux系统fsck.ext4,Ext4文件系统fsck后损坏修复过程一例