SPI认识

Posted 创世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SPI认识相关的知识,希望对你有一定的参考价值。

SPI分为好几种模式

 

不同模式下   读取数据时  SCK线的状态不一样

 

STM32硬件SPI   有16BIT  8BIT的两种模式 

既  收发都是8或16bit

 

SPI缺少响应反馈机制  无法知道  是否收到数据

 

STM32的SPI还与I2S共用引脚

 

 

 

在子函数中  给某个变量定义了   volatile 关键字

 

则这个变量的默认值  为一个很大的数   并不是0   ( 你没有初始化的话)

估计如果初始化了后  应该是个正常的数

 

上午的时候因为  IIC断线后读不出数据   

我猜测   直接  IIC的SCK和SDA还连接了两个普通的IO  

那个时候    SDA被拉低   当程序运行到  WAIT ACK时  可以被拉低   模拟了一个ACK  所以断线之前能够得到响应

断线后   再加上我把传感器的供电换为3.3V所以不再有这样的现象  之后都一直是NOACK

 

下午:

尝试SPI后读取的数据还是不对

 

我就尝试用模拟SPI但是那个程序还是不好用   可以看看到底是什么问题

是不是因为   SPI的模式不一样不匹配

 

 

晚上  继续读  现在版本的程序

READ PROM  地址改为   0XA0+I*2     0XA0+I*2+1    

以这个数据为准  

不知道好不好

 

最后直接套用完整的计算公式

 

得到了数据   还挺稳定的

 

但是   明天测试一下他的  温度补偿怎么样  在不同温度下  测几组数据

做个试验

 

以上是关于SPI认识的主要内容,如果未能解决你的问题,请参考以下文章

Java技术指南带你深入理解和认识SPI运作机制「原理和源码篇」

MS5611一些认识

USB学习笔记——认识USB

USB学习笔记——认识USB

关于SPI通信原理与程序实现

STM32.SPI(25Q16)