Image
Image

怎么总是重复啊

+ 关注

粉丝 1     |     主题 29     |     回帖 262

STM32F103 SPI(踩坑日记)
2023-1-26 16:23
  • ST MCU
  • 17
  • 1135
  问题出在DMA发送函数中,(uint32_t)hspi->pTxBuffPtr强制转换成了数据的地址。但是我们传入HAL_SPI_Transmi ...  
  DMA发送代码如下所示(部分省略):  
  ......  
  SPI+DMA传输的坑 根据自己SPI通道选择DMA配置,使用STM32Cube进行配置 这是我写的一个发送函数,但是抓波形 ...  
  SPI的连续传输和非连续传输 前提条件,这里设置的是8位的spi传输,先看下传输32位数据时时序图的区别: ...  
  这里有个小坑 数据在单片机中存储是按小端格式存储的,但是往往数据发送是按大端格式发送的。 比如想发送01 ...  
  也是检查发送完成标志位和把数据写到DR寄存器中。但是HAL库写的比较好的是支持写数据长度了。一般我们不会 ...  
  核心部分:  
  2.2 HAL库发送函数 HAL库的发送函数比较长,我这边做了删减只看8位的发送的过程。 HAL_StatusTypeDef HAL_S ...  
  但是执行retry++和SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET需要占用CPU时间,这会导致SPI ...  
  assert_param这个断言可以不管,其实就是把数据写到DR寄存器,什么判断都没有。所以一般我们在使用的时候超 ...  
  标准库的发送函数  
  STM32F103 硬件SPI STMf103的SPI->DR寄存器是个16位的,从参考手册上来看F1的芯片支持8位和16位的数据发送 ...  
  这边需要根据从站的datasheet来配置,比如下面的时序图: SCLK默认为高电平,从sck的第二个边沿采集数据位 ...  
  那么在STM32中体现是在这个结构体中(有省略):  
  SPI的4种模式 spi的4种模式是通过CPOL和CPHA设置0和1来决定的。排列组合一下一共4种: CPOL: SPI空闲时的时 ...  
STM32驱动ADS1256串口输出-AD转换
2023-12-27 13:15
  • ST MCU
  • 34
  • 2761
  芯片的SPI通讯时序可参考这个这个时序图和下面的时序特性说明。  
  命令表,其中包含了读/写数据、校准、复位等指令。  
  模块相关寄存器与命令 ADS1256一共有11个寄存器,可以通过配置相应的寄存器实现数据输出位的顺序、是否自校 ...  
  引脚说明 这个引脚说明关联本文开头的图片里的两个模块  
2
3
近期访客