自我扫盲

首先直观点说说SPI的概念,是Motorola提出的,主要用于芯片级的通信。全程呢叫Serial Perpheral Interface串行外设接口。通用的是主从四线全双工,一根选择线,一根时钟线,一根输出,一根输入,支持一主多从,选择与时钟都由主提供。

灵魂画法如下:

唉,这里面我们一步步来:

  1. NSS选择,可以约定高电平选择还是低电平选择;
  2. CLK可以约定是上升沿还是下降沿触发;
  3. 数据就没什么说的。

硬件资源

好,到这里为止就是简单的扫盲,下面基于NUC970怎么实现。

先看看他上面的资源:

翻手册中~NUC970首先支持两个SPI接口/设备;然后

  1. 支持主模式
  2. 可以全双工
  3. 支持1-32位的传输;高载模式下一次传输两个数据,所以最高是64位(这个没验证)
  4. 支持大端与小端模式
  5. 支持双/四IO传输模式(说是FLASH情况下用)

哗啦啦是归根结底可以在下面几个端口玩点花出来:

具体功能我就简单如下说说:

  1. 可以进行触发电平配置、从机选择等基本配置
  2. 可以设置自动模式(待填坑)
  3. 可以设置一次多次传输(1-4)
  4. 可以设置双/四通道传输
  5. 可以中断

以上内容都有相关的代码支撑,翻手册查~

操作思路

然后下面讲大致的操作流程(当然,也是待我填坑认证)

  1. 先设置时钟寄存器,走多少频率的定一定;
  2. 设置要不要走自动模式,时钟是高电平还是低电平算空闲,时钟的触发沿,选择的触发沿;
  3. 配置下大端还是小端,每次的传输长度,一次传多少个;
  4. 淡定的把数据写入寄存器;
  5. 激动人心的设置GO_BUSY,启动SPI
  6. 等待SPI中断,或者轮询看看GO_BUSY有没有清零,等待结束;
  7. 读一下输入寄存器;
  8. 结束

操作前提:

  1. 把GPIO管脚配置成SPI,主要是往MPF寄存器对应位置写入0xB。
  2. 设置时钟CLK_PCLKEN1,有关的是CLK_PCLKEN1[4]与CLK_PCLKEN[5]

NUC970实现SPI通信相关推荐

  1. STM32 SPI通信(读写flash)

    SPI通信 四线制 MISO:主设备数据输入,从设备数据输出 MOSI:主设备数据输出,从设备数据输入 SCLK:时钟信号 CS:片选引脚(低电平有效) 时序图 读写程序 flash读写函数: u8 ...

  2. android spi串口调试,PIC入门3,SPI通信和串口调试实验

    原标题:PIC入门3,SPI通信和串口调试实验 MSSP模块工作于SPI主控方式,这个可以直接在实验板上执行. 程序: //适合3EPIC实验板,配置PIC的MSSP模块工作于SPI主控方式下, // ...

  3. TLE5012B ESP32驱动程序、硬件电路设计、4线SPI通信,驱动完美兼容4线SPI不用改MOSI开漏推挽输出

    一.TLE5012B 简介 TLE5012B 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行角度测量. 它通过使用单片集成 巨磁阻 (iGMR) 元件,来测量正弦和余弦角分量,这些原 ...

  4. AS5047P磁编码器ESP32驱动程序、硬件电路设计、SPI通信时序、逻辑波形分析、注意事项

    1.AS5047P硬件设计 1.1 简介.性能参数 AS5047P 是一种款高分辨率旋转位置传感器,用于在整个 360 度范围内进行高速(高达 28krpm)角度测量.这种新型位置传感器配备了革命性的 ...

  5. SPI通信实验---verilog(FPGA作为从机,使用可读可写)

    文章原地址: http://www.cnblogs.com/fhyfhy/p/4429302.html SPI通信实验---verilog(FPGA作为从机,使用可读可写) 本实验讲究实用性,故设计思 ...

  6. stm32f405rgt6与as5048a的SPI通信问题

    与as5048a的SPI通信问题 本人最近在学习无刷直流电机的FOC,其中用了一个带有磁编码器as5048a作为角度反馈的电机,其中pwm接口输出是正常的,但是在SPI通信的时候出现了问题.研究了几天 ...

  7. ADI官方解释在SPI通信期间,数据的发送(串行移出到MOSI/SDO总线上)和接收(采样或读入总线(MISO/SDI)上的数据)

    串行外设接口(SPI)是微控制器和外围IC(如传感器.ADC.DAC.移位寄存器.SRAM等)之间使用最广泛的接口之一.本文先简要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换器,以 ...

  8. CC3200 与 CC2530的SPI通信

    目的:实现CC2530作为master,CC3200作为slave的SPI 通信 连接图如下 /*--------------------------– Master Slave ----- ---- ...

  9. 通信协议整理之 SPI 通信

    通信协议整理之 SPI 通信 文章目录 通信协议整理之 SPI 通信 简介 工作原理 通信连接方式 补充 硬件 SPI 和模拟 SPI 简介 SPI是串行外设接口(Serial Peripheral ...

最新文章

  1. 神经元之间是如何形成“社交网络”的
  2. Swift - 经纬度位置坐标与真实地理位置相互转化
  3. HZOJ 赤(CF739E Gosha is hunting)
  4. 【转】2.5SharePoint服务器端对象模型 之 访问网站和列表数据(Part 5)
  5. SparkStreaming - 无状态与有状态 updataStateByKey
  6. var let this的区别
  7. windows无法移动修复此计算机,无法安装Windows 10移动创作者更新[修复] | MOS86
  8. mysql 创建时间 只能设置一个_在MySQL中创建数据表时,可以设定主键、外键。那么对于一个数据表,能设置的主键和外键个数最多分别是...
  9. 一个类似权限挂载的设计
  10. java.lang.InternalError: internal error: SHA-1 not available.
  11. [微信小程序]swiper保持宽高比
  12. 【第七课】Smart 3D集群教程
  13. QGIS插件开发详细教程
  14. SPSS(七)非线性回归过程
  15. 笔记本电脑桌面的计算机图标不见了,win7系统笔记本电脑桌面计算机图标不见了的解决方法...
  16. 后台传给小程序的时间对象如何转为“YYYY/MM/DD“格式渲染
  17. 解决 primordials is not defined 问题
  18. adb 查看手机闪存类型
  19. 【慕课网】人工智能-语音入门|公开课知识整理
  20. win10安装配置JDK11

热门文章

  1. 段永朝,比较2012-2016,深度解读互联网女皇《互联网趋势报告》
  2. php js页面刷新,JS刷新页面方法总结
  3. java实现尾递归优化,你们都知道递归,尾递归呢?什么又是尾递归优化?
  4. ptgui创建全景图设置_使用Microsoft图像合成编辑器创建高级全景图
  5. 2013年上半年系统集成项目管理工程师(软考)培训视频、资料、历年试题、电子书教程
  6. 用计算机制作板报教案,浅析“用Word制作电子板报”的教学设计
  7. 一个网工获得CCNP认证后的成功求职记
  8. java toast_详解Android中的Toast源码
  9. linux装入u盘分区失败,linux下U盘分区表修复解决识别问题
  10. [源码和文档分享]基于QT实现的联网国际跳棋游戏