spi认识

创世界 创世界     2022-09-23     329

关键词:

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    

以这个数据为准  

不知道好不好

 

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

 

得到了数据   还挺稳定的

 

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

做个试验

 

java技术指南带你深入理解和认识spi运作机制「原理和源码篇」(代码片段)

什么是SPISPI,全称为ServiceProviderInterface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使... 查看详情

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

...到SPI就肯定有这几个引脚,以至于限制了自己的思维。只认识MISO/MOSI/,并不知道他们的真实意义。所以后来遇到DO、DI、CS、RES时,就不知道是什么意思了。真是一知半解。下面就说说一些关于SPI的那些事。参考博客:https://www.cn... 查看详情

stm32.spi(25q16)

1.首先认识下W25Q16DVSIG,SOP8SPIFLASH16MBIT 2MB(4096个字节)(里面能够放字库,图片,也能够程序掉电不丢失数据放里面)例程解说:①1.用到SPI库;conf.h里打开头文件2.2M串行FLASH W25Q16初始化SPI_FLASH_Init();RCC_APB2PeriphClockCmd(RCC_... 查看详情

spi协议的通信原理

...程等一些基本的操作,让你对ESP-IDF开发有一个总体的认识,比我们后续学习打下基础 查看详情

usb学习笔记——认识usb

USB是嵌入式开发中比较常用的一种通信协议,学习IIC、SPI、UART、USB等通信协议是很有必要的,我们常用的鼠标、键盘等都是USB设备,平时只是使用这些设备,但是并不知道他们是怎么实现的,下面记录我的USB... 查看详情

spispi学习之spi驱动相关(代码片段)

关联内容:【SPI】SPI学习之SPI硬件相关【SPI】SPI学习之SPI驱动相关【SPI】SPI学习之SPI调试相关目录spi驱动框架SPI控制器spi_master结构体spi主机设备类spi_register_master函数spi_unregister_master函数SPI核心spi_transfer 结构体spi_message结构... 查看详情

2个stm32怎么用spi通信

...nss、clk对应的连接起来就是了3、波特率设置一样4、配置spi,下面以配置SPI1主机模式为例如:SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;//双线双向全双工SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;//8位数据SPI_InitStructure.SPI_CPOL=SPI_... 查看详情

spi通信(代码片段)

目录一、SPI接口原理二、SPI接口框图三、SPI工作原理四、SPI特征五、从设备引脚管理(NSS)1、软件模式:2、硬件模式:六、时钟信号的相位和极性七、时钟信号的相位和极性八、SPI接口原理1、数据帧格式2、状态标志九、SP... 查看详情

spispi学习之spi调试相关(代码片段)

关联内容:【SPI】SPI学习之SPI硬件相关【SPI】SPI学习之SPI驱动相关【SPI】SPI学习之SPI调试相关目录spi调试方法uboot下调试SPI内核调试API接口spi_read函数spi_write函数SPI常见错误dts配置错误SPI管脚复用硬件问题寄存器配置时钟频率... 查看详情

javaspi06-自己从零手写实现spi框架

系列目录spi01-spi是什么?入门使用spi02-spi的实战解决slf4j包冲突问题spi03-spijdk实现源码解析spi04-spidubbo实现源码解析spi05-dubboadaptiveextension自适应拓展spi06-自己从零手写实现SPI框架spi07-自动生成SPI配置文件实现方式回顾学习了java的... 查看详情

spi总线详解

文章目录SPI总线详解一、SPI简介二、SPI协议2.1软件协议2.2硬件SPI2.3软件SPI三、SPI协议特点3.1采用主-从控制模式3.2同步通信3.3全双工通信四、其他文章推荐SPI总线详解一、SPI简介SPI英文全称(SerialPerripheralInterface),即... 查看详情

javaspi01-spi是什么?spi使用入门教程serviceloader使用简介

系列目录spi01-spi是什么?入门使用spi02-spi的实战解决slf4j包冲突问题spi03-spijdk实现源码解析spi04-spidubbo实现源码解析spi05-dubboadaptiveextension自适应拓展spi06-自己从零手写实现SPI框架spi07-自动生成SPI配置文件实现方式问题引入以前一... 查看详情

spi——documentation/spi/spi_summary.txt翻译(代码片段)

Linux内核SPI支持概述====================================02-20121.什么是SPI?------------  "SerialPeripheralInterface"(SPI)是同步四线串行接口,用于将微控制器连接到传感器,存储器和外围设备的链路。这是一个简单的“事实上的”标准,... 查看详情

linux驱动开发spi(代码片段)

Linux内核将SPI驱动分成两部分SPI主机驱动:SOC的SPI控制器驱动。半导体厂商编写。SPI设备驱动:具体SPI设备的驱动。SOC使用者编写。SPI主机驱动Linux定义spi_master结构体表示SPI主机驱动,include/linux/spi.spi.h。SPI主机驱动... 查看详情

linux驱动开发spi(代码片段)

Linux内核将SPI驱动分成两部分SPI主机驱动:SOC的SPI控制器驱动。半导体厂商编写。SPI设备驱动:具体SPI设备的驱动。SOC使用者编写。SPI主机驱动Linux定义spi_master结构体表示SPI主机驱动,include/linux/spi.spi.h。SPI主机驱动... 查看详情

[spi]spi协议详解(代码片段)

转自:https://my.oschina.net/freeblues/blog/674001.SPI协议简介1.1.SPI协议概括  SPI,是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时... 查看详情

stm32的两个spi互相通信,从spi正确接收主spi数据,但主spi收不到从spi数据(miso一直为低),是何原因?

PA6接PB14,PA7接PB15,全双工,将数据送从spi数据寄存器,然后主spi发送数据后返回主spi接收的数据,为0,不是从spi的数据,但从spi能正确接收主spi的数据,望大虾们指点小弟~不胜感激!参考技术A你检查下gpio口是否配对追问都为... 查看详情

javaspi07-自动生成spi配置文件实现方式

系列目录spi01-spi是什么?入门使用spi02-spi的实战解决slf4j包冲突问题spi03-spijdk实现源码解析spi04-spidubbo实现源码解析spi05-dubboadaptiveextension自适应拓展spi06-自己从零手写实现SPI框架spi07-自动生成SPI配置文件实现方式回顾上一节我们... 查看详情