zoukankan      html  css  js  c++  java
  • 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    

    以这个数据为准  

    不知道好不好

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

    得到了数据   还挺稳定的

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

    做个试验

  • 相关阅读:
    Linux套接子(c语言)模拟http请求、应答
    709. 转换成小写字母
    1108. IP 地址无效化
    C++大作业——教职工管理系统
    贪吃蛇游戏 1.0
    getch()函数的使用方法及其返回值问题
    Open source project code
    slack Interface operation
    slack init: Simple interaction with slack bot
    mac 使用 Docker 搭建 ubuntu 环境
  • 原文地址:https://www.cnblogs.com/qdrs/p/7674910.html
Copyright © 2011-2022 走看看