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); 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值