STM8S105K4使用硬件SPI来读取LSM9DS1

来源:互联网 发布:淘宝联盟机器人发单 编辑:程序博客网 时间:2024/06/06 01:08

  • STM8S105K4使用硬件spi读LSM9DS1的注意
  • 代码

STM8S105K4使用硬件spi读LSM9DS1的注意

  • SPI配置的几个要素:MSB、主从、PHASE_EDGE、POLARITY、NSS ;
  • 主机时钟和SPI的速度的匹配,需要测试。
  • STM8的spi初始化函数中的CRC是个什么鬼
  • SPI读取LSM9DS1时,需要先指定读取地址,然后再发一个直接的时序,读取该地址的数据。此时一定把第一次读地址的数据(虽然没有用)也读出来。

代码


SPI_Cmd(ENABLE);    CS_M_L;    while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET);    SPI->DR = address|0x80;    while(SPI_GetFlagStatus(SPI_FLAG_RXNE) == SET);    tmp_rx = SPI->DR;//不读出来会出错!    while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET);    SPI->DR = 0x00;    while(SPI_GetFlagStatus(SPI_FLAG_RXNE) == SET);    tmp_rx = SPI->DR;    CS_M_H;    SPI_Cmd(DISABLE); 
0 0
原创粉丝点击