zoukankan      html  css  js  c++  java
  • 软件模拟spi的注意事项

    前几天遇到了软件模拟spi的时候,读和写不一致的现象,后来仔细研究了一下,其实是时序性问题不对。

    spi的有四种时序,硬件实现的时候,很简单,初始化后直接调用api即可。但是软件模拟就比较麻烦。

    举例如下:

    读时序如下:

     写时序如下:

     这两个结合起来就是下面四种spi模式的第四种

    也就是模式2,如下所示:

    值得注意的是:

    按照上面的时序图,单片机应该是在上升沿输出数据(即写数据),

    但是,读数据,看时序图好像是也上上升沿,其实是错误的,应该是下降沿读数据,即单片机在下降沿的时候采样丛集的数据。

    网络参考:https://blog.csdn.net/ybhuangfugui/article/details/52068759

    2.模拟SPI初始化

    3.模拟SPI写函数(时序)

    这种时序的写法在学习过51的朋友来看再熟悉不过了。

    注意:

    1、高字节在前,说以上面红色标记的的部分就是将高位先输出,依次移位输出。

    2、在时钟的上升沿将数据输出,所以在“时钟-高”之前将数据输出。

    4.模拟SPI读函数(时序) 

    读时序和写时序原理类似,但还是存在差异。

    注意:

    1、高位先输出来(从机输出),所以,需要将读取的数据依次移向高位。

    2、在时钟的下降沿读出数据,所以,我红色标记的部分可以看得出来,是在时钟为低之后才去读取数据。

  • 相关阅读:
    程序文档的写法
    EF+Mysql
    R语言基础3
    R语言基础2
    R语言基础1
    搭建私有Docker Registry
    使用镜像仓库托管自己构建的Docker镜像
    构建自己的Tomcat镜像
    官方Tomcat镜像Dockerfile分析及镜像使用
    Docker镜像构建的两种方式
  • 原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/12378081.html
Copyright © 2011-2022 走看看