历史上的今天
今天是:2025年02月20日(星期四)
正在发生
2020年02月20日 | STM8S105K4使用硬件SPI来读取LSM9DS1
2020-02-20 来源:eefocus
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);
推荐阅读
史海拾趣




