码迷,mamicode.com
首页 > 其他好文 > 详细

SPI认识

时间:2017-10-16 00:12:00      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:完整   变量   取数   现象   估计   sda   nbsp   默认   响应   

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认识

标签:完整   变量   取数   现象   估计   sda   nbsp   默认   响应   

原文地址:http://www.cnblogs.com/qdrs/p/7674910.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!