标签:完整 变量 取数 现象 估计 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
以这个数据为准
不知道好不好
最后直接套用完整的计算公式
得到了数据 还挺稳定的
但是 明天测试一下他的 温度补偿怎么样 在不同温度下 测几组数据
做个试验
标签:完整 变量 取数 现象 估计 sda nbsp 默认 响应
原文地址:http://www.cnblogs.com/qdrs/p/7674910.html